课程目标
本节课程的目标是:
- 学习如何为 Android 应用生成签名文件。
- 配置 Gradle 签名和打包设置。
- 学习如何为不同的 CPU 架构生成优化的 APK 文件。
- 学习如何使用工具将应用上传到测试市场(如蒲公英)。
1. 生成签名文件
-
进入
android/app目录:cd android/app -
执行生成签名的命令:
keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000-
参数说明:
-keystore:生成的签名文件名。-alias:签名的别名。-keyalg:加密算法(RSA)。-keysize:密钥大小(2048 位)。-validity:有效期(单位:天)。
-
2. 配置 Gradle 签名
-
在
gradle.properties文件中添加签名变量:MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=123456 MYAPP_RELEASE_KEY_PASSWORD=123456 -
在
android/app/build.gradle中配置签名:-
在
signingConfigs中添加release配置: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中引用签名配置:buildTypes { release { signingConfig signingConfigs.release } }
-
3. 针对不同 CPU 架构生成 APK
-
启用分离打包:
-
在
android/app/build.gradle中添加:enableSeparateBuildPerCPUArchitecture=true
-
-
执行打包命令:
-
在 macOS/Linux 下:
cd android && ./gradlew assembleRelease -
在 Windows 下(CMD 环境):
cd android && gradlew assembleRelease
-
-
生成的 APK 文件说明:
-
打包完成后,APK 文件会存放在
android/app/build/outputs/apk/release/目录下。 -
不同架构的 APK 文件:
arm64-v8a:64 位 ARM 第 8 代处理器。armeabi-v7a:32 位 ARM 第 7 代及以上处理器(大多数手机支持)。x86:用于模拟器或平板。x86_64:64 位平板。
-
4. 使用 react-native-upload 自动化打包与上传
-
安装依赖:
yarn add react-native-upload --dev -
生成配置文件:
npx upload-init -
执行打包命令:
-
单独打包 Android:
npx upload-build --no-ios -
Windows 系统下需使用 Git Bash。
-
-
解决打包报错(如
react-native-video兼容问题) :-
安装兼容版本:
yarn add react-native-video@5.1.0-alpha6 -
重新执行打包命令。
-
5. 上传到测试市场(蒲公英)
-
配置上传信息:
-
在
upload.json文件中添加蒲公英的 API 配置信息:"pgy": { "pgy_api_key": "蒲公英key", "pgy_install_type": 2, "pgy_install_password": "123456", "ios_export_plist": "./ios-export/ad-hoc.plist" }
-
-
执行上传命令:
-
上传 Android APK:
npx upload-pgy --apk=v7a --no-ios
-
-
通过
package.json添加快捷命令:-
在
scripts中添加:"publish": "export ENVFILE=.env.production && npx upload-pgy --apk=v7a --no-ios" -
Windows 系统下:
"publish": "set ENVFILE=.env.production && npx upload-pgy --apk=v7a --no-ios"
-
-
效果:
- 上传成功后,蒲公英会生成一个二维码,测试人员可以通过扫描二维码安装应用。
6. 发布到应用市场
-
国内应用市场的现状:
-
国内应用市场碎片化严重,各大厂商拥有自己的应用商城:
- 手机厂商:华为、小米、魅族、OPPO、vivo 等。
- 第三方市场:豌豆荚(阿里应用分发)、应用宝、91 助手等。
-
-
上传到应用市场的注意事项:
- 创建应用并上传 APK 文件。
- 填写应用信息。
- 提供软件著作权证书(部分市场要求)。
7. 总结
7.1 本节内容总结
- 学习了如何为 Android 应用生成签名文件。
- 配置了 Gradle 签名和打包设置。
- 针对不同 CPU 架构生成优化的 APK 文件。
- 使用
react-native-upload实现自动化打包与上传。 - 学习了如何将应用上传到测试市场(如蒲公英)。
7.2 思想总结
- 自动化:通过工具(如
react-native-upload)简化打包与上传流程,提高效率。 - 优化:针对不同 CPU 架构生成 APK,减少包体积。
- 分发:利用测试市场(如蒲公英)快速分发应用,提高测试效率。
8. 下一节预告
Android 端的打包工作到此结束,接下来的章节将学习 iOS 端的打包配置知识。