我目前正在构建我的第一个React Native应用。 我在Play控制台中为内部测试设置了一个发行版,并且能够推送我的第一个已签名的APK。 从那时起,我们进行了错误修复,现在将这些错误合并到master中。 当我尝试通过运行生成新版本时:
cd android && ./gradlew assembleRelease
并上传为新版本,通过Play商店更新我的应用后,我看不到任何新变化。
我试过跑步
react-native bundle --entry-file ./index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
在生成新版本之前,但我仍然看不到更改。
当我的设备与USB调试连接时,运行react-native run-android以及在任何模拟器中都可以正常工作。 我只是想不通为什么我的APK与本地设备上生成的代码不匹配。
我是否缺少某个步骤,无法在构建时阻止APK代表master上的最新更改?
使用React Native 0.56
更新以添加我的Gradle配置:
// android/app/build.grade
signingConfigs {
release {
if(project.hasProperty('MY_RELEASE_STORE_FILE')) {
storeFile file(MY_RELEASE_STORE_FILE)
storePassword pass
keyAlias MY_RELEASE_KEY_ALIAS
keyPassword pass
}
}
}
您应该通过将此代码放在defaultConfig下来更新app文件夹下的build.gradle文件
signingConfigs {
debug {
storeFile file('debug.keystore')
keyAlias 'androiddebugkey'
keyPassword 'android'
storePassword 'android'
}
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
}
}
}
就像这样,并使用这些属性更新gradle.properties文件
MYAPP_RELEASE_STORE_FILE="Key Store Name"
MYAPP_RELEASE_KEY_ALIAS="Key Store alias"
MYAPP_RELEASE_STORE_PASSWORD="Key Store Password"
MYAPP_RELEASE_KEY_PASSWORD="Key Password"
尝试改变
--entry-file ./index.js
至
--entry-file ./index.android.js
也许已经晚了,但是我希望这可以节省一些人:看起来无论何时添加新模块或资产都必须重新捆绑
react-native包--platform android --dev否--entry-file index.js --bundle-output android / app / src / main / assets / index.android.bundle --assest-dest android / app / src / main / res