首页 文章

'App not Installed' Android上出错

提问于
浏览
286

我有一个在Android模拟器中工作的程序 . 我一次又一次地创建一个签名的.apk并将其导出到我的HTC Desire进行测试 . 一切都很好 .

在我最新导出的.apk上,当我尝试安装.apk时,收到错误消息“App not installed” . 它在模拟器上运行良好 .

因为我主要是在模拟器上进行测试,并且只是每次都出口到真正的手机,我不确定这是什么时候发生的 . 它不是在物理手机上安装而是在仿真器中运行良好的可能原因是什么?

我尝试重新启动手机并删除现有的.apk,但没有解决问题 .

30 回答

  • 1

    如果已将应用程序安装到SD卡或移动到SD卡,然后USB电缆已连接,则会导致SD卡卸载,也会出现“应用程序未安装”错误 .

    在这种情况下,关闭USB存储或将应用程序移回内部存储将解决问题 .

  • 7

    我也遇到过这个问题 . 请试试这个解决方案 . 确保项目的包名与先前已安装在移动电话中的项目不同 . 我认为他们的名字会发生冲突 . 它适用于我 .

  • 28

    您也可能遇到此问题,因为您的设备制造商未授权使用Google商业应用,例如Play商店,YouTube,Google Map 等 . 请按this answer解决此问题 .

  • 8

    显然,这也可能是由于在安装之前重命名了APK . 我希望通过缩短文件名来减少用户从我们的网站获取应用程序所需的输入量 . 之后,他们无法安装它 .

    一旦我恢复到创建和签署包时使用的原始文件名,我就能够更新已安装的应用程序 .

  • 3

    主要针对较旧的手机

    我尝试在我的手机上安装apk时遇到了 App not installed 错误,该手机运行在4.4.2 aka KitKat上,但是我的朋友在他的6号手机上没有遇到这个错误 . 我尝试了其他解决方案,例如删除应用程序的旧/调试版本,因为apk是发布版本,清除调试应用程序的数据,甚至清除所有缓存数据 . 然后,最后我意识到我所要做的就是在构建我签名的apk时选择两个签名版本 .

    enter image description here

    之前我只选择了 V2 (Full APK Signature) ,但在选择 V1 Jar Signature 之后,我能够在我的4.4.2设备上成功安装我签名的APK . 希望这有助于他人!

  • 3

    我有一个类似的问题,这是因为我试图在手机上安装apk与相同apk的先前版本,并且两个apks都没有使用相同的证书签名 . 我的意思是当我使用相同的证书时,我能够覆盖以前的安装,但是当我在版本之间更改证书时,安装是不可能的 . 你使用相同的证书吗?

  • 4

    通过命令行创建密钥库文件

    keytool -genkey -alias key_file_name.keystore -keyalg RSA -validity 1000000000000000 -keystore key_file_name.keystore

    通过Eclipse导出apk,右键单击Android项目 Android Tools > Export Signed Application Package ,然后给出密钥库位置和密码 .

    这将crate签署apk同时apk将zipaligned . 并且可以安装 .

    如果您通过命令行,有时您可能会遇到“应用程序未安装”错误 . (应用程序未安装错误不仅可能发生在使用命令行时 . 也可能是其他一些原因)

  • 15

    查看Android版本 .

    如果您要安装非市场应用程序和不兼容的版本,您将收到此错误 .

    例如:针对2.3.4的应用程序您的设备是2.2然后您将收到此错误 .

  • 5

    显然,这个问题有很多原因 . 对我来说情况是这样的:我已经从Android Studio(v1.3.2)中部署到我的nexus 7(实际设备) . 一切正常 . 然后我创建了一个签名的apk并上传到我的Google Cloud 端硬盘 . 断开我与nebus之间的关系后,我转到设置/应用程序并卸载了我的应用程序(App1) . 然后我打开谷歌驱动器并单击我的App1.apk并选择安装它(需要确保您已允许在设置中安装apks) . 然后我收到了可怕的消息“App not Installed”

    解决方案对我来说:回到设置/应用程序并滚动浏览我的App1的所有应用程序和 at the bottom was a pale version (注意原始App1按字母顺序排在顶部,如上所述被删除) . 当点击苍白的版本时,它说"Not installed for this user" . (我已经 Build 了我的联系以拥有多个用户) . 但是在 top right corner there is a three dot button . 我按了这个,它说 "Uninstall for all users" . 我做了什么,它解决了这个问题 . 我现在能够点击App1.apk并且安装正常而没有错误 .

  • 4

    我遇到了同样的问题 . 问题是我的AndroidManifest.xml文件中的主要活动被写了两次 . 我删除了副本 .

  • 4

    如果您在AndroidManifest.xml中声明了两次MainActivity,则会发生这种情况 .

    另一个可能的原因:您更改了启动活动 . 提示:永远不要使用已发布的应用程序! Android Developers blog中讨论的原因 .

  • 1

    当我将我的android从2.3.2更新到3.0.1时,我遇到了这个问题 . 如果是这种情况,IDE将自动考虑以下几点 .

    1.您无法通过常规方式安装带有android:testOnly =“true”的应用程序,例如来自Android文件管理器或从网站下载

    2.Android Studio在运行的APK上设置android:testOnly =“true”

    如果你运行你的应用程序直接将设备连接到你的系统,apk将安装并运行没有问题 .

    如果你从build out put和debug文件夹发送这个apk,它将永远不会安装在设备中 .

    解决方案:去构建--->构建APK(s)--->将apk文件共享复制到您的团队

    那么你的问题就会解决 .

  • 3

    我有同样的问题 . 我没有意识到即使是为了测试也必须签署应用程序 .

    自我签名后,安装得很好 .

  • 19

    对我来说,在Android 9(API 28)上,从Play商店应用程序禁用 Google Play Protect 起了作用,我能够摆脱 App not Installed 错误 .

    禁用Google Play Protect . 打开“Play商店”应用程序=>点击“菜单”按钮=>选择“播放保护”选项=>禁用“扫描设备以查找安全威胁”选项 .

  • 2

    我知道这是一个旧帖子,但对于新用户可能会有用 . 我有同样的问题:我的应用程序在debbuging工作正常 . 当我签署APK时,我收到了相同的消息:“应用程序未安装” .

    我修复了卸载我的JDK(我使用的是jdk-6u14-windows-x64)并安装了一个新的(jdk-6u29-windows-x64) . 导出并再次签署APK后,一切都还可以!

    恢复,我的问题是在JAVA版本 . 谢谢甲骨文!!

  • 2

    我有同样的问题,这里是如何解决它:转到清单文件,并确保你有“Debuggable”和“仅测试”属性设置为false . 它对我有用:)

  • 2

    我的问题是我在设备上有多个用户帐户 . 我在1个帐户中删除了该应用,但它仍然安装在其他帐户中 . 因此命名空间冲突并且没有安装 . 从所有用户卸载应用程序为我修复它 .

  • 2

    如果应用程序未安装,请从SD卡中删除文件 .android_secure/smdl2tmpl.asec .

    如果文件管理器中的文件夹 .android_secure 为空,请将其从PC中删除 .

  • 14

    我也解决了这个问题,

    问题是我宣布我的主要活动两次,On作为第一个加载的活动,我也为它指定了一个intent-filter又一次在它下面再次声明它 .

    请确保您没有两次申报活动 .

  • 10

    适用于使用Android Studio 3的用户 .

    Suryanarayana Reddy的答案是正确的,因为它没有说明解决它的步骤,因此 .

    在应用程序标记下的AndroidManifest.xml中添加 testOnly="false"android:debuggable="true" ,如下所示:

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:testOnly="false"
        android:debuggable="true"
        >
    

    Edit
    然后在AndroidStudio的菜单栏Build> Build APK(s)

  • 20

    最后我发现没有成功安装任何应用程序,而不仅仅是我的 . 我将安装应用程序默认设置从SD卡设置为自动 . 修好了 .

  • 11

    如果您有该应用程序的先前版本,请先尝试删除它,现在我的问题已通过该方法解决 .

  • 88

    我遇到了同样的问题,即App显示为已安装,但在点击图标时无法启动 . 经过一些头撞,我发现我在AndroidManifest文件中愚蠢地放置了'android:exported =“false”'作为我的主要启动器活动....一旦我删除它,应用程序启动正常...

  • 207

    我的问题类似于@Lunatikzx . 由于作为属性写入应用程序的错误权限标记:

    <application
        android:permission="android.permission.WRITE_EXTERNAL_STORAGE"
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:testOnly="false"
        android:debuggable="true">
    

    为我修复的是将权限标记更改为单独的标记,如下所示:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
  • 118

    对我来说,原因是我在同一部手机上使用不同的构建变体进行了多次构建:

    enter image description here

    发生了什么事情,其中一些构建是由我构建的,另一个是由另一个开发人员发送给我的...尝试安装开发人员,而我有其他构建(由我构建)导致上述错误 .

    所以修复很简单:删除手机上的所有版本(无论构建版本)..然后安装我的同行发送的apk ..它就像一个魅力

  • 2

    尝试安装应用程序时打开logCat . 将其设置为“无过滤器” . 搜索“InstallAppProgress”包标识符 . 如果安装失败,您应该看到“安装错误代码” . 就我而言,它是

    D/InstallAppProgress: Installation error code: -7
    

    在这里,您可以使用此link查找有关特定错误代码的信息 .

  • 5

    就我而言,这是因为Android Studio 3.0在从 release Build Variant构建的APK上设置 android:testOnly="true" .

    https://commonsware.com/blog/2017/10/31/android-studio-3p0-flag-test-only.html

    所以运行 ./gradlew assembleRelease 解决我的问题

  • 4

    我的问题是:我使用了Android的 Debug Apk, that was generated while I did the Run command 工作室

    解决方案是: Instead 使用此文件,清理项目和Android Studio中的 click Build > Build APK(s) . 然后你可以使用通常文件夹中生成的APK(app / build / outputs / apk / debug /)

    安装这样的文件安装没有问题 .

  • 4

    我有同样类型的错误,这在我的android清单XML文件中被这一行警告 .

    android:permission="android.permission.INSTALL_LOCATION_PROVIDER"
    

    我删除了该行,它解决了我的问题 . 希望这可以帮助

  • 3

    制作主屏幕窗口小部件时,也会发生这种情况,并且窗口小部件XML文件的 android:configure 属性中指定的活动不正确 .

相关问题