如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?

Posted

技术标签:

【中文标题】如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?【英文标题】:How to fix INSTALL_FAILED_INVALID_APK error in Android Studio? 【发布时间】:2020-07-02 13:32:18 【问题描述】:

我最近将我的 android Studio 更新到 3.6.1,因此也将 gradle 插件更新到 3.6.1,并将 gradle 包装器更新到 5.6.4

运行调试版本时,我不断收到此错误

Install failed: The application could not be installed: 
INSTALL_FAILED_INVALID_APK 
The APKs are invalid. 
我检查了我的包和 applicationId 并且是相同的 我尝试在清单<application> 标签上使用android:extractNativeLibs="true",但它仍然不起作用 继续清理和重建仍然不起作用 缓存无效,删除 .gradle、idea 和 build 文件,但仍然无法正常工作 我也在 gradle.properties 文件org.gradle.caching=false 上使用过这个,但还是不行 我检查了 idea.log 文件,它是这样说的:
2020-03-22 00:49:04,191 [4654427]   INFO - ild.invoker.GradleBuildInvoker - Gradle build finished in 1 m 37 s 411 ms 
2020-03-22 00:49:04,213 [4654449]   INFO - ools.idea.run.tasks.DeployTask - Installing application: PACKAGE_NAME 
2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675813ms TRC_BEG [12861][12861] : installer 
2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675814ms TRC_BEG [12861][12861] : Command Dump 
2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675814ms TRC_BEG [12861][12861] : get process ids 
2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675872ms LOG_ERR [12861][12861] : Could not get package user id: /system/bin/run-as: unknown package: PACKAGE_NAME 

2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675874ms TRC_END [12861][12861] :  
2020-03-22 00:49:04,451 [4654687]   INFO - a.run.tasks.AbstractDeployTask - 20675874ms TRC_BEG [12861][12861] : retrieve_apk_path 
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675874ms TRC_BEG [12861][12861] : apk_path_via_cmd_package_dump 
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675923ms TRC_END [12861][12861] :  
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675923ms TRC_END [12861][12861] :  
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675923ms LOG_ERR [12861][12861] : Could not find apks for package: PACKAGE_NAME 
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675923ms TRC_END [12861][12861] :  
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - 20675923ms TRC_END [12861][12861] :  
2020-03-22 00:49:04,452 [4654688]   INFO - a.run.tasks.AbstractDeployTask - DUMP_UNKNOWN_PACKAGE 
2020-03-22 00:49:04,967 [4655203]   INFO -            #com.android.ddmlib - Created install session 969164047 with options -r -t -S 14667707 
2020-03-22 00:49:04,967 [4655203]   INFO -            #com.android.ddmlib - Uploading APK C:\Projects\PROJECT_FOLDER\source\PROJECT_NAME\app\build\outputs\apk\debug\app-debug.apk to session 969164047 
2020-03-22 00:49:08,055 [4658291]   INFO - WindowsPerformanceHintsChecker - Windows Defender status: NONE_EXCLUDED; projectDirExcluded? false 
2020-03-22 00:49:17,686 [4667922]   WARN -            #com.android.ddmlib - Failed to commit install session 969164047 with command cmd package install-commit 969164047. Error: INSTALL_FAILED_INVALID_APK: Package couldn't be installed in /data/app/PACKAGE_NAME -d9UfJVvKMP9-OA81TwCVvQ==: Package /data/app/PACKAGE_NAME -d9UfJVvKMP9-OA81TwCVvQ==/base.apk code is missing 
2020-03-22 00:49:17,687 [4667923]   WARN - a.run.tasks.AbstractDeployTask - Install failed: The application could not be installed: INSTALL_FAILED_INVALID_APK The APKs are invalid. 
2020-03-22 00:49:17,689 [4667925]   INFO - run.AndroidLogcatOutputCapture - stopAll() 
2020-03-22 00:49:21,408 [4671644]   INFO - rationStore.ComponentStoreImpl - Saving appEditorColorsManagerImpl took 12 ms 

*注意我用 PACKAGE_NAME 和项目名称替换了我的包名

我已经用完了所有选项。最坏的情况是我会降级 gradle 和 gradle wraper 甚至 Android Studio,我故意讨厌它,因为它是倒退了一步

【问题讨论】:

发布版本的同样问题? 我还没有检查发布版本 我尝试生成调试 APK 并没有安装。只显示“应用安装失败” 我将尝试发布 APK,但我仍然认为它仍然会有相同的结果 发现和你一样的问题,但是我可以在真机上运行应用程序,而不是在虚拟机上,我认为第三方.so文件可能不支持在虚拟机上运行。 【参考方案1】:

另一种解决方案是删除 ../android/app/build/outputs/apk/debug/app-debug.apk 文件,然后运行“npm run android”/“yarn android”

【讨论】:

不知道为什么这是 -1,它对我有用,在我更新我的 gradle 版本后出现此错误 这对我有用【参考方案2】:

我尝试更新 Android Studio,但仍然收到 INSTALL_FAILED_INVALID_APK 错误。然后我更新了firebase依赖项,仍然无济于事

有趣的是,它在我的另一个项目上运行良好。这使我检查了它们的不同依赖项,并意识到唯一的主要依赖项是 AppDynamics gradle 插件

我删除了 AppDynamics 工具,它起作用了!我假设甚至在之前,gradle 中的 AppDynamics 工具就是阻止应用程序正常运行的原因。我已经确认这是 AppDynamics 插件的问题。参考链接:https://community.appdynamics.com/t5/End-User-Monitoring-EUM/AppDynamic-EUM-setup-for-Android-Cordova-project/td-p/38864

在此期间,我将降级,直到 AppDynamics 提供修复程序

【讨论】:

谢谢,我们也在使用 App Dynamics。 你到底降级了什么? AppDynamics、AS 还是 AppDynamics Gradle 插件?你降级到什么版本?我遇到了同样的问题 找到它:将 gradle 构建工具降级到 3.5.0 是一种解决方法。 谢谢,对我们来说也是广告问题 使用 appdynamics 20.5.2 时不存在问题【参考方案3】:

删除手机上具有相同捆绑 ID 的现有应用对我有用。

【讨论】:

【参考方案4】:

有时是因为您正在安装 apk 的模拟器/设备。如果您之前在设备上安装了 apk,然后又将其卸载,那么它可能仍然存在于您的设备上。因此,在模拟器中,转到 settings -> Apps,然后检查列表中的应用程序。如果存在,请单击该特定应用程序,然后单击“为所有用户卸载”(通常从右上角的三个点开始)。

希望对你有帮助:)

【讨论】:

我在我的设备设置和应用列表中找不到它【参考方案5】:

对我有用的是执行以下操作:

    卸载开发版(或应用商店版)。如果您有一个具有相同捆绑 ID 的应用程序,它将拒绝安装示例应用程序的不同变体。 adb uninstall <BUNDLE_ID> 刷新安卓版本cd ./android && ./gradlew clean && cd ../ 运行react-native run-android --variant=release

【讨论】:

【参考方案6】:

我记得遇到过同样的问题并使用 build>clean 项目解决了它。但是正如您所说,这在这里不起作用是link 谈论清单中您的应用程序包名称的细微变化及其最近的变化。只是觉得它可能看起来很漂亮,因为它没有出现在您已经检查过的事物列表中。加上您发布的日志中提到的包名称未知,因此看起来很可疑。

希望对你有帮助

【讨论】:

我已经检查过了,还是一样,我的包名也不能改【参考方案7】:

当您设置模拟器 (AVD) 时,您正在选择外部和内部存储大小。

而且我认为您超出了该存储大小。

解决方案(它们都在释放一些存储“类别”):-

卸载不必要的应用程序。 从 AVD 管理器中擦除模拟器数据。 通过编辑特定的模拟器来扩展存储大小。

【讨论】:

我没有使用模拟器,我使用的是具有 128gb 存储空间的 Note 0 实际设备【参考方案8】:

我遇到了同样的问题。尝试通过终端adb uninstall com.packagename 命令卸载应用程序,然后重新安装应用程序。基本上,有时该应用程序是为设备中的其他用户安装的,从设备卸载只是从当前用户卸载它,这就是它给出此错误的原因。试一试,我希望它会有所帮助。

【讨论】:

【参考方案9】:

我在 Android Studio 4.0 中开始出现这个问题。我在打开 Android Studio 后立即尝试在模拟器上启动应用时收到“INSTALL_FAILED_INVALID_APK”。

找到了一种解决方法 - 如果我先在真实设备上启动应用程序,那么在模拟器上启动不是问题。 100% 有效。

不幸的是,Android Studio 仍然存在问题...

【讨论】:

【参考方案10】:
application>- android:extractNativeLibs="true" 

为我工作


minSdkVersion 23

ndk 
   abiFilters "armeabi-v7a"

minSdkVersion 小于 23,也为我工作

【讨论】:

以上是关于如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Android Studio 中的 React Native 应用程序错误?

如何修复 Android Studio 中的 INSTALL_FAILED_INVALID_APK 错误?

如何修复 Android Studio 中的 Lottie 错误 - 'Error:Execution failed for task' java.lang.RuntimeException [...

如何在运行应用程序时修复 android studio 版本 3.6.2 中的“无法解析结果路径字符串:”错误?

如何修复 Android Studio 中的“使用 JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ 处接受格式错误的 JSON”错误

Android Studio Arctic Fox的Git Log和搜索窗口中文乱码问题解决方案(关键词:AS,2020.3.1,显示错误,Find in Path,版块,方块,修复,新版本)(代码片