根据阿迪蒂亚·辛格的回答,生成的(未签名的)apk不会安装在我的手机上.我必须使用指令here生成一个签名的apk.
以下内容对我很管用:
$ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
将my-release-key.keystore
文件放在android/app
下
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=****
MYAPP_RELEASE_KEY_PASSWORD=****
如果您使用的是MacOS,您可以使用指令here将密码存储在 keys 链中,而不是以明文形式存储.
然后编辑app/build.gradle,并确保存在以下内容(可能需要添加包含signingConfigs signingConfig的部分):
...
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
}
}
}
...
Then运行命令cd android && ./gradlew assembleRelease
,
For Windows"cd android",然后运行gradlew assembleRelease
命令,在android/app/build/outputs/apk/app-release.apk
或android/app/build/outputs/apk/release/app-release.apk
下找到signed apk