首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误代码-7在试图安装版本APK时

错误代码-7在试图安装版本APK时
EN

Stack Overflow用户
提问于 2015-05-30 19:53:20
回答 2查看 6.1K关注 0票数 11

我已经采取了所有适当的步骤来创建发行版APK。(所需步骤的示范)

我的设备(Nexus 7,2012)被设置为允许从未知来源安装。

我将APK (app-Relase.apk)发电子邮件给自己,并试图从GMail中打开它,因为这应该是可行的。

编辑:我很抱歉,我也应该包括我卸载应用程序的设置>应用程序>(有问题的应用程序)>“卸载”按钮。

但是,应用程序立即无法加载,只有以下logcat信息:

代码语言:javascript
复制
05-30 14:44:41.689      466-497/? W/PackageManager﹕ Package edu.osu.expandablelistviewtest1 signatures do not match the previously installed version; ignoring!
05-30 14:44:41.914      466-497/? I/art﹕ Explicit concurrent mark sweep GC freed 74971(3MB) AllocSpace objects, 22(1348KB) LOS objects, 33% free, 28MB/43MB, paused 9.752ms total 220.463ms
05-30 14:44:41.927  20704-20704/? D/InstallAppProgress﹕ Installation error code: -7
05-30 14:44:43.094  20704-20704/? I/InstallAppProgress﹕ Finished installing edu.osu.expandablelistviewtest1

我已经尝试了我能想到的每一个搜索字符串,却找不到任何关于错误-7的含义的信息。查看GitHub上的代码,我们看到以下代码:

代码语言:javascript
复制
public void handleMessage(Message msg) {
  ...
  if (msg.arg1 == PackageManager.INSTALL_SUCCEEDED) {
    ...
  } else if (msg.arg1 == PackageManager.INSTALL_FAILED_INSUFFICIENT_STORAGE){
    ...
   } else {
    // Generic error handling for all other error codes.
    centerTextDrawable.setLevel(1);
    centerExplanationLabel = getExplanationFromErrorCode(msg.arg1);
    centerTextLabel = R.string.install_failed;
    mLaunchButton.setVisibility(View.INVISIBLE);
  }
  ...
  private int getExplanationFromErrorCode(int errCode) {
    Log.d(TAG, "Installation error code: " + errCode);
    switch (errCode) {
    case PackageManager.INSTALL_FAILED_INVALID_APK:
      return R.string.install_failed_invalid_apk;
    case PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES:
      return R.string.install_failed_inconsistent_certificates;
    case PackageManager.INSTALL_FAILED_OLDER_SDK:
      return R.string.install_failed_older_sdk;
    case PackageManager.INSTALL_FAILED_CPU_ABI_INCOMPATIBLE:
      return R.string.install_failed_cpu_abi_incompatible;
    default:
      return -1;
    }
  }
  ...
}

...so我们无法知道"-7“是什么意思。(除此之外,没有一个是开关的情况。)

我愿意接受任何想法/建议。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-30 20:07:57

我觉得很不好意思。毕竟,问题是在较新版本的Android中,以我前面提到的方式卸载只会卸载特定用户。

答案是转到设置>app>(有问题的应用程序),然后从“.”中选择“所有用户的卸载”。菜单在右上角。

因此,对于未来的谷歌搜索者:

InstallAppProgress:安装错误代码:-7显然意味着您必须完全卸载以前版本的应用程序,例如以前的调试版本等。

票数 30
EN

Stack Overflow用户

发布于 2015-06-27 11:13:31

PackageInstaller的错误代码常数是在PackageManager类中定义的,前缀为INSTALL_FAILED_.。

(该链接对应于2015年6月25日开始的代码修订,因此当您阅读此链接时,代码可能会更改。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30550716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档