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