java.lang.IllegalArgumentException:错误:无法解析APK文件:

时间:2018-12-07 02:40:33

标签: android migration apk androidx

我的搜索量过剩,而Google却没有运气。我最近将我的应用程序迁移到androidx,经过大量的努力,我得以修复所有构建失败的问题。但是现在在模拟器或设备上安装应用程序时出现以下错误。任何帮助将不胜感激。

我尝试了以下方法: 使缓存无效/重启 清理构建并重建项目 从设备上卸载的应用 重新启动我的电脑

Exception occurred while executing:
java.lang.IllegalArgumentException: Error: Failed to parse APK file: /data/local/tmp/...
    at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:338)
    at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:906)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:158)
    at android.os.ShellCommand.exec(ShellCommand.java:103)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21328)
    at android.os.Binder.shellCommand(Binder.java:634)
    at android.os.Binder.onTransact(Binder.java:532)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2821)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3856)
    at android.os.Binder.execTransact(Binder.java:731)
Caused by: android.content.pm.PackageParser$PackageParserException: Failed to parse /data/local/tmp/...
    at android.content.pm.PackageParser.parseApkLiteInner(PackageParser.java:1590)
    at android.content.pm.PackageParser.parseApkLite(PackageParser.java:1575)
    at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:331)
    ... 9 more
$ adb shell pm uninstall ...
Unknown failure (at android.os.Binder.execTransact(Binder.java:731))
Error while Installing APK

3 个答案:

答案 0 :(得分:0)

清理->重建->并尝试在生成apk文件时同时检查v1和v2

答案 1 :(得分:0)

您应该在手机上放置缓存。 例如:

1-在计算机上打开Windows终端

2-输入命令>adb shell 您应该在手机上现场

3-使用>cd data/local/tmp/appium_cache

进入tmp / appium_cache /文件夹

4-编写命令>ls来查看该文件夹中存在的所有元素

5-使用命令>rm filename

删除所有这些元素

希望能为您提供帮助

答案 2 :(得分:0)

从android文件夹中删除之前的app-release.apk文件:

\app\build\outputs\apk\release

然后清除模拟器中的所有数据。最后,重新构建应用程序。