课程目标
本节课程的目标是:
- 学习如何为 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 端的打包配置知识。