React Native通过Fastlane部署至App Center始终使用旧版本问题
React Native Android 部署 App Center 始终出现旧版本问题
我使用Fastlane构建并部署React Native安卓应用至App Center,但每次部署的都是旧版本,开发中的修改从未生效。已确认gradle(task: "clean")会删除并重建build文件夹,本地搜索也找不到旧代码,但部署后仍显示旧内容。
我的beta lane代码如下:
lane :beta do ensure_git_status_clean bump store_password = ENV['KEYSTORE_PASSWORD'] releaseFilePath = File.join(Dir.pwd, '..', 'my-release-key.keystore') gradle(task: 'clean') gradle( task: 'bundle', build_type: 'Release', properties: { 'android.injected.signing.store.file' => releaseFilePath, 'android.injected.signing.store.password' => store_password, 'android.injected.signing.key.alias' => 'my-key-alias', 'android.injected.signing.key.password' => store_password } ) appcenter_upload( owner_type: 'organization', mandatory_update: true, api_token: ENV['TEST_APPCENTER_API_TOKEN'], owner_name: ENV['TEST_APPCENTER_OWNER_NAME'], app_name: ENV['APPCENTER_APP_NAME'], file: './app/build/outputs/bundle/release/app-release.aab', notify_testers: true, destinations: 'Mio', release_notes: changelog_from_git_commits ) end
排查方向与解决方法
清理React Native Metro缓存:Metro的缓存可能导致打包时复用旧JS bundle,在gradle的bundle任务前添加手动打包命令,强制生成新的JS bundle:
sh "npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/"或者直接执行
npx react-native clean,彻底清理RN相关缓存后再执行构建。强制Gradle不使用构建缓存:Gradle的增量构建缓存可能遗漏部分文件,在bundle任务中添加
--no-build-cache参数:gradle( task: 'bundle', build_type: 'Release', flags: '--no-build-cache', properties: { 'android.injected.signing.store.file' => releaseFilePath, 'android.injected.signing.store.password' => store_password, 'android.injected.signing.key.alias' => 'my-key-alias', 'android.injected.signing.key.password' => store_password } )验证生成的AAB内容:部署前用
bundletool解压AAB文件,检查assets/index.android.bundle是否包含最新代码。如果AAB本身是旧的,问题出在打包环节;如果AAB是新的,需检查App Center的部署目标是否正确,或者测试设备是否有缓存未清理。确认Fastlane上传路径正确性:检查
appcenter_upload中的file路径是否指向最新构建的AAB,避免上传了其他位置的旧产物。检查版本号递增情况:
bump步骤会修改版本号,如果版本号未正确递增,可能导致测试者设备未触发更新提示,误以为是旧版本。
内容的提问来源于stack exchange,提问作者Gh05d
相关产品推荐
相关产品推荐

