我有一个在Android模拟器中工作的程序。我一次又一次地创建一个签名的.apk并将其导出到我的HTC Desire进行测试。一切都很好。
在我最新导出的.apk上,当我尝试安装.apk时,收到错误消息“App not installed”。它在模拟器上运行良好。
由于我主要是在模拟器上进行测试,并且只是每次都出口到真正的手机,我不确定这是什么时候发生的。它不是在物理手机上安装而是在模拟器中运行良好的可能原因是什么?
我尝试重新启动手机并删除现有的.apk,但没有解决问题。
我尝试在我的手机上安装apk时遇到App not installed
错误,该apk运行在4.4.2 aka KitKat上,但是我的朋友在他的6+以上的手机上没有遇到这个错误。我尝试了其他解决方案,例如删除应用程序的旧/调试版本,因为apk是发布版本,清除调试应用程序的数据,甚至清除所有缓存数据。然后,最后我意识到我所要做的就是在构建我签名的apk时选择两个签名版本。
之前我只选择了V2 (Full APK Signature)
,但在选择V1 Jar Signature
之后,我能够在我的4.4.2设备上成功安装我签名的APK。希望这有助于他人!
我知道这是一个旧帖子,但对于新用户可能会有用。我有同样的问题:我的应用程序在debbuging工作正常。当我签署APK时,我收到了相同的消息:“应用程序未安装”。
我修复了卸载我的JDK(我使用的是jdk-6u14-windows-x64)并安装了一个新的(jdk-6u29-windows-x64)。导出后再次签署APK,一切都还可以!
恢复,我的问题是在JAVA版本。谢谢甲骨文!!
我的问题是我在设备上有多个用户帐户。我在1个帐户中删除了该应用,但它仍然安装在其他帐户中。因此命名空间冲突并且没有安装。从所有用户卸载应用程序为我修复它。
适用于使用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"
>
编辑 然后在AndroidStudio的菜单栏Build> Build APK(s)
我的问题是:我使用了Debug Apk,它是在我从Android Studio执行Run命令时生成的
解决方案是:不使用此文件,而是清理项目,然后从Android Studio单击构建>构建APK。然后你可以使用通常文件夹中生成的APK(app / build / outputs / apk / debug /)
安装这样的文件安装没有问题。
如果应用程序未安装,请从SD卡中删除文件.android_secure/smdl2tmpl.asec
。
如果文件管理器中的文件夹.android_secure
为空,请将其从PC中删除。
我也解决了这个问题,
问题是我宣布我的主要活动两次,On作为第一个加载的活动,我也为它指定了一个intent-filter又一次在它下面再次声明它。
请确保您没有两次宣布您的活动。
最后我发现没有成功安装任何应用程序,而不仅仅是我的。我将安装应用程序默认设置从SD卡设置为自动。修好了。
如果您有该应用程序的先前版本,请先尝试删除它,现在我的问题已通过该方法解决。
我遇到了同样的问题,即App显示为已安装,但在点击图标时无法启动。经过一些头撞,我发现我在AndroidManifest文件中为我的主要启动器活动愚蠢地放置了'android:exported =“false”'....一旦我删除它,应用程序启动正常...
我的问题类似于@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" />
对我来说,在Android 9(API 28)上,从Play商店应用程序禁用Google Play Protect可以解决这个问题,并且我能够摆脱App not Installed
错误。
要停用Google Play Protect。打开“Play商店”应用程序=>点击菜单按钮=>选择“播放保护”选项=>禁用选项“扫描设备的安全威胁”。
通过命令行创建密钥库文件
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。并且可以安装。
如果您通过命令行,有时您可能会遇到“应用程序未安装”错误。 (应用程序未安装错误不仅可能发生在使用命令行时。也可能是其他一些原因)
查看Android版本。
如果您要安装非市场应用程序和不兼容的版本,您将收到此错误。
例如:针对2.3.4的应用程序您的设备是2.2然后您将收到此错误。
如果已将应用程序安装到SD卡或移动到SD卡,然后USB电缆已连接,则会导致SD卡卸载,也会出现“应用程序未安装”错误。
关闭USB存储或将应用程序移回内部存储将解决此问题。
我也遇到过这个问题。请试试这个解决方案。确保项目的软件包名称与之前已安装在移动电话中的项目不同。我认为他们的名字会发生冲突。它适用于我。
您也可能遇到此问题,因为您的设备制造商未授权使用Google商业应用,例如Play商店,YouTube,Google地图等。请按照this answer解决问题。
显然,这也可能是因为在安装之前重命名了APK。我希望通过缩短文件名来减少用户从我们的网站获取应用程序所需的输入量。之后,他们无法安装它。
一旦我恢复到创建和签署包时使用的原始文件名,我就能够更新已安装的应用程序。
尝试安装应用程序时打开logCat。将其设置为“无过滤器”。搜索“InstallAppProgress”包标识符。如果安装失败,您应该看到“安装错误代码”。就我而言
D/InstallAppProgress: Installation error code: -7
从这里您可以使用此link查找有关您的特定错误代码的信息。
在制作主屏幕窗口小部件时,也会发生这种情况,并且窗口小部件XML文件在其android:configure
属性中指定了不正确的活动。
使用Android Studio,我之前安装了APK(Build> Build APK)的未签名调试版本,并且必须在安装签名版本之前卸载它(Build Variants> Build Variant:release,Build> Generate Signed APK)。
我有一个类似的问题,这是因为我试图在手机上安装apk与相同apk的先前版本,并且两个apks没有使用相同的证书签名。我的意思是当我使用相同的证书时,我能够覆盖以前的安装,但是当我在版本之间更改证书时,安装是不可能的。你使用相同的证书吗?
在Marshmallow的所有者和访客用户就在那里。如果客人安装了相同的应用程序,我们无法在所有者中安装相同的应用程序。我修复此删除访客中的应用程序
显然,这个问题有很多原因。对我来说情况是这样的:我已经从Android Studio(v1.3.2)中部署到我的nexus 7(实际设备)。一切正常。然后我创建了一个签名的apk并上传到我的Google云端硬盘。断开我与nebus之间的关系后,我转到设置/应用程序并卸载了我的应用程序(App1)。然后我打开谷歌驱动器并单击我的App1.apk并选择安装它(需要确保您已允许在设置中安装apks)。然后我收到了可怕的消息“App not Installed”
解决方案对我来说:回到设置/应用程序并滚动所有应用程序,在底部是我的App1的苍白版本(请注意原始App1按字母顺序排在顶部,如上所述删除)。当点击苍白版本时,它说“没有为这个用户安装”。 (我已经建立了我的联系以拥有多个用户)。但是在右上角有一个三点式按钮。我按了这个,它说“为所有用户卸载”。我做了什么,它解决了这个问题。我现在能够点击App1.apk并且安装正常而没有错误。
当我将我的android从2.3.2更新到3.0.1时,我遇到了这个问题。如果是这种情况,IDE将自动考虑以下几点。
1.您无法通过常规方式安装带有android:testOnly =“true”的应用程序,例如来自Android文件管理器或从网站下载
2.Android Studio在运行的APK上设置android:testOnly =“true”
如果您运行您的应用程序直接将设备连接到您的系统,apk将安装并运行没有问题。
如果你通过copy从build out put和debug文件夹发送这个apk,它将永远不会安装在设备中。
解决方案:去构建--->构建APK(s)--->将apk文件共享复制到您的团队
那你的问题就解决了。
我遇到了同样的问题。问题是我的AndroidManifest.xml文件中的主要活动被写了两次。我删除了副本。
如果您在AndroidManifest.xml中声明了两次MainActivity,则会发生这种情况。
另一个可能的原因:您更改了启动活动。提示:永远不要使用已发布的应用程序!在Android Developers blog讨论的原因。
我有同样的问题。我没有意识到即使是测试也必须签署应用程序。
自我签名后,安装得很好。
我有同样的问题,这里是如何解决它:转到清单文件,并确保您将“Debuggable”和“仅测试”属性设置为false。它对我有用:)