app开发(Android开发)--react-native
<p>react-native开发与发布流程:</p><p><strong>1 环境:</strong></p>
<p>genymotion + visual box虚拟墙 +安卓sdk + Android studio开发工具+react native(0.57.8)+react-native-cli(2.0.1//npm install react-native-cli)</p>
<p> </p>
<p>环境工具:</p>
<p>----genymotion(需要先注册账号)</p>
<p>----visualBox虚拟墙</p>
<p>----Android的SDK</p>
<p>----Android studio开发工具</p>
<p> </p>
<p> </p>
<p><strong>2 APP项目运行:<br></strong></p>
<p>----1.cd进入项目安装依赖 //npm install</p>
<p> ----2.react-native run-android</p>
<p> </p>
<p><strong>3 APP项目打包(初始化开发打包):</strong></p>
<p>----1.cd进入Android---》在cd进入app项目文件夹 </p>
<p>----2.执行生成密钥命令:keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 </p>
<p>----3.修改配置文件: </p>
<ul>
<li>my-release-key.keystore(有则直接负责到 android/app 目录下,无则执行打包第一条)</li>
<li> 配置android/gradle.properties文件:添加以下四个参数(注:<span style="color: rgba(255, 0, 0, 1)">**替换为相应密码</span>)</li>
</ul>
<p> <span style="color: rgba(0, 0, 255, 1)">MYAPP_RELEASE_STORE_FILE=my-release-key.keystore</span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> MYAPP_RELEASE_KEY_ALIAS=my-key-alias </span></p>
<p> <span style="color: rgba(0, 0, 255, 1)">MYAPP_RELEASE_STORE_PASSWORD=</span><span style="color: rgba(255, 0, 0, 1)">***** </span></p>
<p> <span style="color: rgba(0, 0, 255, 1)">MYAPP_RELEASE_KEY_PASSWORD=</span><span style="color: rgba(255, 0, 0, 1)">*****</span></p>
<ul>
<li>配置 android/app/build.gradle 文件内的参数:</li>
</ul>
<p> ... </p>
<p> android { </p>
<p> ... </p>
<p> defaultConfig { ... } </p>
<p> signingConfigs { </p>
<p> <span style="color: rgba(0, 0, 255, 1)">release { </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {</span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> storeFile file(MYAPP_RELEASE_STORE_FILE) </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> storePassword MYAPP_RELEASE_STORE_PASSWORD </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> keyAlias MYAPP_RELEASE_KEY_ALIAS </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> keyPassword MYAPP_RELEASE_KEY_PASSWORD </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> } </span></p>
<p><span style="color: rgba(0, 0, 255, 1)"> } </span></p>
<p> } </p>
<p> buildTypes { </p>
<p> release { </p>
<p> ... </p>
<p> <span style="color: rgba(0, 0, 255, 1)">signingConfig signingConfigs.release </span></p>
<p> } </p>
<p> } </p>
<p> } </p>
<p> ...</p>
<p>----4. cd进入 android 文件执行打包命令:</p>
<p>gradlew assembleRelease (Windows的传统 CMD 命令需要去掉 ./ ) </p>
<p>// ./gradlew assembleRelease在 macOS、Linux 或是 windows 的 PowerShell 环境中表示执行当前目录下的名为 gradlew 的脚本文件,且其运行参数为 assembleRelease,注意这个./不可省略;</p>
<p> </p>
<p><strong> 4 注:</strong></p>
<p> Gradle 的assembleRelease参数会把所有用到的 JavaScript 代码都打包到一起,然后内置到 APK 包中。如果你想调整下这个行为(比如 js 代码以及静态资源打包的默认文件名或是目录结构等),可以看看android/app/build.gradle文件,然后琢磨下应该怎么修改以满足你的需求。 注意:请确保 gradle.properties 中没有包含_org.gradle.configureondemand=true_,否则会跳过 js 打包的步骤,导致最终生成的 apk 是一个无法运行的空壳。</p>
<p> </p>
<p><strong>5 打包生成后的线上文件:</strong></p>
<p><strong> </strong>生成的 APK 文件位于 android/app/build/outputs/apk/release/app-release.apk ,这个就是用来发布的文件。</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/dreambin/p/12574624.html
頁:
[1]