Android基线配置文件设置遇INSTALL_FAILED_VERSION_DOWNGRADE错误求助
解决配置Baseline Profile模块时的INSTALL_FAILED_VERSION_DOWNGRADE错误
在Android Studio配置Baseline Profile模块时,遇到以下INSTALL_FAILED_VERSION_DOWNGRADE错误:
Exception thrown during onBeforeAll invocation of plugin AndroidTestApkInstallerPlugin: ErrorName: INSTALL_FAILED_VERSION_DOWNGRADE NameSpace: DdmlibAndroidDeviceController ErrorCode: 1 ErrorType: TEST Message: Failed to install split APK(s): [/Users/james.cullimore/Desktop/someApp/baseline-profile/build/outputs/apk/nonMinifiedRelease/baseline-profile-nonMinifiedRelease.apk] Failed to install split APK(s): [/Users/james.cullimore/Desktop/someApp/baseline-profile/build/outputs/apk/nonMinifiedRelease/baseline-profile-nonMinifiedRelease.apk] Failed to commit install session 167650299 with command package install-commit 167650299. Error: INSTALL_FAILED_VERSION_DOWNGRADE: Downgrade detected: Update version code 0 is older than current 273 com.android.ddmlib.InstallException: Failed to commit install session 167650299 with command package install-commit 167650299. Error: INSTALL_FAILED_VERSION_DOWNGRADE: Downgrade detected: Update version code 0 is older than current 10 at com.android.ddmlib.SplitApkInstallerBase.installCommit(SplitApkInstallerBase.java:154) at com.android.ddmlib.SplitApkInstaller.install(SplitApkInstaller.java:85) at com.android.ddmlib.IDeviceSharedImpl.installPackages(IDeviceSharedImpl.java:395) at com.android.ddmlib.internal.DeviceImpl.lambda$installPackages$36(DeviceImpl.java:1492) at com.android.ddmlib.internal.DeviceImpl.logRun3(DeviceImpl.java:1834) at com.android.ddmlib.internal.DeviceImpl.installPackages(DeviceImpl.java:1489) at com.android.ddmlib.internal.DeviceImpl.lambda$installPackages$37(DeviceImpl.java:1504) at com.android.ddmlib.internal.DeviceImpl.logRun3(DeviceImpl.java:1834) at com.android.ddmlib.internal.DeviceImpl.installPackages(DeviceImpl.java:1500) at com.android.tools.utp.plugins.deviceprovider.ddmlib.DdmlibAndroidDevice.installPackages(DdmlibAndroidDevice.kt:74) at com.android.tools.utp.plugins.deviceprovider.ddmlib.DdmlibAndroidDeviceController$executeAsync$deferred$1.invokeSuspend(DdmlibAndroidDeviceController.kt:254) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:749) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
已尝试手动设置versionCode、卸载应用,但问题仍存在。以下是可行的解决方案:
1. 同步Baseline Profile模块与主应用的versionCode
Baseline Profile模块的测试APK需要与主应用保持相同的versionCode,否则会触发版本降级检测:
- 在模块的
build.gradle.kts(或build.gradle)中,明确设置与主应用一致的版本信息:android { defaultConfig { versionCode = 273 // 替换为主应用的versionCode versionName = "1.0.0" // 替换为主应用的versionName } } - 更高效的方式是在主应用中统一管理版本,模块引用主应用的配置:
// 主应用 build.gradle.kts ext { set("appVersionCode", 273) set("appVersionName", "1.0.0") } // Baseline Profile模块 build.gradle.kts android { defaultConfig { versionCode = rootProject.ext.get("appVersionCode") as Int versionName = rootProject.ext.get("appVersionName") as String } }
2. 彻底清理设备上的相关组件
单独卸载主应用可能残留测试APK或组件,需彻底清理:
- 用ADB命令查看所有相关包:
adb shell pm list packages | grep "你的应用包名" - 卸载所有相关包(包括测试包,通常包名带
.test或.baselineprofile后缀):adb uninstall com.your.app.package adb uninstall com.your.app.package.test adb uninstall com.your.app.package.baselineprofile - 清除设备上的安装会话缓存:
adb shell pm clear-install-sessions
3. 清理项目构建缓存并重新构建
项目构建缓存可能导致版本信息异常,执行以下操作:
- 在Android Studio中依次点击
Build > Clean Project,再点击Build > Rebuild Project - 或使用Gradle命令清理构建:
./gradlew clean ./gradlew assembleBaselineProfileNonMinifiedRelease
4. 检查模块构建类型的版本配置
确认Baseline Profile模块的构建类型(如nonMinifiedRelease)中没有错误覆盖versionCode:
- 检查模块
build.gradle.kts中的buildTypes配置,避免出现类似以下错误:buildTypes { nonMinifiedRelease { versionCode = 0 // 错误:不要手动设置为0 } }
内容的提问来源于stack exchange,提问作者LethalMaus
相关产品推荐
相关产品推荐

