生成签名
1
keytool -genkey -v -keystore release-key.keystore -alias key-alias -keyalg RSA -keysize 2048 -validity 10000
- [注意].我这边环境变量已经配置了,注意上面的release-key这个名字可以自己取名,同时my-key-alias也是自己取名,其中第二个名称alias参数后边的别名,在后面你在为应用签名的时候需要用到,所以暂时记录一下这个别名。
上面的命令我们需要输入密钥库(keystore)密码和对应秘钥的密码,然后设置名字,组织,国家,省份相关的信息,最后会生成release-key.keystore的签名文件。
- [注意].我这边环境变量已经配置了,注意上面的release-key这个名字可以自己取名,同时my-key-alias也是自己取名,其中第二个名称alias参数后边的别名,在后面你在为应用签名的时候需要用到,所以暂时记录一下这个别名。
Gradle配置
- 然后进行修改项目中gradle.properties文件,进行添加如下的代码(注意下面的签名和别名的名称和上一步放入的release-key.keystore 要一样,下面两项分别填写签名和别名的密码)-我取的密码为test12345
1
2
3
4MYAPP_RELEASE_STORE_FILE=release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=test_alias
MYAPP_RELEASE_STORE_PASSWORD=test12345
MYAPP_RELEASE_KEY_PASSWORD=test12345
- 然后进行修改项目中gradle.properties文件,进行添加如下的代码(注意下面的签名和别名的名称和上一步放入的release-key.keystore 要一样,下面两项分别填写签名和别名的密码)-我取的密码为test12345
这一步我们是进行[注意].以上的签名秘钥请大家一定要妥善保管,因为在应用发布的时候需要的。全局的gradlde进行变量化的配置,后边我们会在后边的步骤中给相应的应用进行签名。
[注意].以上的签名秘钥请大家一定要妥善保管,因为在应用发布的时候需要的。
给应用添加签名-配置局部应用Gradle文件
直接在工程目录下得android/app/build.gradle中以下节点添加如下内容:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20...
android {
...
defaultConfig { ... }
signingConfigs {
release {
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
}
}
}
…
生成签名包
对存在react.gradle文件的项目打包
命令行切到react native主目录,然后运行下面的命令,请注意下面 android就是Android项目的目录名称1
cd android && ./gradlew assembleRelease
对与不存在react.gradle文件的项目打包
- 这边因为react.gradle文件不存在,主要针对第四讲课程中的项目(Android原生项目移植到React Native平台)来进行举例。
首先命令切换到该react native项目的主目录,然后运行以下的命令,生成assets文件夹1
mkdir -p android/app/src/main/assets
- 这边因为react.gradle文件不存在,主要针对第四讲课程中的项目(Android原生项目移植到React Native平台)来进行举例。
紧接着运行以下命令,进行生成inde.android.bundle文件1
2
3react-native bundle --platform android --dev false --entry-file index.android.js \
--bundle-output android/app/src/main/assets/index.android.bundle \
--assets-dest android/app/src/main/res/
最后运行之前的命令,进行代码和资源文件打包,生成的带有签名的apk还是在上面的目录中。1
cd android && ./gradlew assembleRelease
- 运行Apk
上面的步骤我们已经完成了项目的签名打包在对应的目录中生成中apk文件,下面我们直接运行以下的命令进行将apk安装到设备中,我这边直接采用了模拟器进行测试了。1
cd android && ./gradlew installRelease
