无法安装我自己生成的apk
Can not install my own generated apk
我更新了我的应用程序并在我的设备上对其进行了测试。如果我通过 eclipse 中的 运行 按钮测试应用程序,一切正常,但如果我将它导出到 apk 中并尝试安装 apk,它会失败。
没有错误代码或其他任何内容,它只是说应用程序尚未安装。
知道为什么会这样吗?我只更改了我的应用程序中的一些内容:我从我的应用程序中删除了 basegameutils 库,并迁移到没有 basegameutils 的新 api。就是这样(除了一些错误修正,但这不是原因)。
我确实已经重启了 eclipse 并多次清理了所有项目。
目标 sdk 是 22,我正在使用最新的系统映像,依此类推 api 级别(我的设备是带有 5.1.1 运行ning 的库存 nexus 6)。我还将我的构建工具从 22.0.1 更新到 23.0.1,并删除了 22 版本。这是原因吗?
我也试过在开发控制台上传apk也没有报错
感谢您的帮助。
编辑:
logcat 输出表明签名与之前安装的版本不匹配。
如果我尝试通过 Play 商店安装当前的实时版本,还会出现一条错误消息,提示我无法安装此应用程序,因为另一个用户已经在此设备上安装了不兼容的版本(但我没有安装它并且我的设备上没有多个用户)。
如果我进入设置中的应用程序菜单,我的应用程序会显示在列表底部,但有一条说明说该应用程序未为用户安装。如果我点击它,所有按钮都无法点击(所以我无法卸载它)。
发生了什么事?
您不能 运行 直接在您的 android 设备上签署 apk。
我想 运行 您的 apk 然后按照以下步骤操作:
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
这将允许您 运行 您签名的 apk,而无需从 Play 商店下载。
或
试试这个 link :
您的签名已更改,因此如您所述,您必须卸载以前的版本。您尝试从设备 UI 卸载但失败了 - 因此请从命令行尝试:
adb uninstall your_package_name
在 Nexus 设备上看到,偶尔只有命令行卸载有效。
我找到了解决方案,但我仍然不知道是什么导致了这个问题。
我的应用程序仍然安装在我设备上的某个位置,即使它没有出现在应用程序抽屉中,而且 Play 商店也告诉我同样的情况。在 settings/apps 菜单中,我的应用程序仍然存在(正如我在编辑原始 post 时提到的)所以我点击了它。如果你点击菜单按钮,你可以为所有成功的用户选择 unisntall。现在我可以再次安装我的 apk。
我不知道这是怎么发生的,但是你走了,我希望这对你有所帮助。
编辑:
我和这个人有同样的问题。那里接受的答案比我的格式不佳的文本好得多;)
我遇到了同样的问题,我用这种方法解决了,对于当前 Updated Android Studio 2.3
Build
> 生成 Signed apk
.
- 创建
Keystore path
.
- 放
Password, alias, key password
.
Build type
select 相应地(例如在 playstore 中发布使用 release
)。
Signature Version
select V1
和 V2
复选框。
Finsih
.
- 从
explorer
转到 apk 并将其用于您的 playstore
或在设备中作为签名和认证的 apk 文件。
对我来说,选择签名版v1和v2都解决了问题
我得到了保存错误,以防有人遇到这个问题。对我来说,这是因为我在 phone 上有同一个应用程序的多个项目。您需要从 phone.
中删除该应用程序的旧版本
问题是因为您有一个测试应用程序版本。所以,你并没有真正升级应用程序!那是两个不同的应用程序。您必须先卸载以前的版本(测试),然后才能安装应用程序的发布(签名)版本。
如果在生成签名 apk 之前有两个选项(V1(jar 签名)和 V2(完整 APK 签名))。您现在应该使用 V1 jar 签名,因为没有向后兼容性,所有 android 版本 < 7 的手机都不会接受此签名。将在下一个 N Developer Preview 中添加向后兼容性。
这个developer.android里面也有关于这个link的解释:
https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2
在我的例子中,是 build.gradle 中的 proguardFiles 路径导致了这个问题
对我来说,解决方案是在设备上禁用 Play Protect。
目前,PlayStore 会定期检查应用和设备是否存在有害行为。手动安装签名的 APK 被视为异常行为,因此被阻止。
因此,暂时关闭 播放保护功能,您的安装将发挥魅力!
- step one - open play store and select play protect
- step two - click play protection setting button
- step three - disable
- step four - close and install your APK manually
我今天遇到了这个问题并在这里尝试了一些建议,这就是我解决问题的方法:我清除了 phone 的缓存/垃圾文件,还卸载了应用程序的测试版本和他们的 APK,然后重新安装新的 APK。在担心之前先试试这个。
我更新了我的应用程序并在我的设备上对其进行了测试。如果我通过 eclipse 中的 运行 按钮测试应用程序,一切正常,但如果我将它导出到 apk 中并尝试安装 apk,它会失败。
没有错误代码或其他任何内容,它只是说应用程序尚未安装。
知道为什么会这样吗?我只更改了我的应用程序中的一些内容:我从我的应用程序中删除了 basegameutils 库,并迁移到没有 basegameutils 的新 api。就是这样(除了一些错误修正,但这不是原因)。
我确实已经重启了 eclipse 并多次清理了所有项目。
目标 sdk 是 22,我正在使用最新的系统映像,依此类推 api 级别(我的设备是带有 5.1.1 运行ning 的库存 nexus 6)。我还将我的构建工具从 22.0.1 更新到 23.0.1,并删除了 22 版本。这是原因吗?
我也试过在开发控制台上传apk也没有报错
感谢您的帮助。
编辑:
logcat 输出表明签名与之前安装的版本不匹配。
如果我尝试通过 Play 商店安装当前的实时版本,还会出现一条错误消息,提示我无法安装此应用程序,因为另一个用户已经在此设备上安装了不兼容的版本(但我没有安装它并且我的设备上没有多个用户)。
如果我进入设置中的应用程序菜单,我的应用程序会显示在列表底部,但有一条说明说该应用程序未为用户安装。如果我点击它,所有按钮都无法点击(所以我无法卸载它)。
发生了什么事?
您不能 运行 直接在您的 android 设备上签署 apk。
我想 运行 您的 apk 然后按照以下步骤操作:
1) Go to your device settings
2) In setting you find applications
3) In application checked unknown sources
这将允许您 运行 您签名的 apk,而无需从 Play 商店下载。
或 试试这个 link :
您的签名已更改,因此如您所述,您必须卸载以前的版本。您尝试从设备 UI 卸载但失败了 - 因此请从命令行尝试:
adb uninstall your_package_name
在 Nexus 设备上看到,偶尔只有命令行卸载有效。
我找到了解决方案,但我仍然不知道是什么导致了这个问题。
我的应用程序仍然安装在我设备上的某个位置,即使它没有出现在应用程序抽屉中,而且 Play 商店也告诉我同样的情况。在 settings/apps 菜单中,我的应用程序仍然存在(正如我在编辑原始 post 时提到的)所以我点击了它。如果你点击菜单按钮,你可以为所有成功的用户选择 unisntall。现在我可以再次安装我的 apk。
我不知道这是怎么发生的,但是你走了,我希望这对你有所帮助。
编辑:
我和这个人有同样的问题。那里接受的答案比我的格式不佳的文本好得多;)
我遇到了同样的问题,我用这种方法解决了,对于当前 Updated Android Studio 2.3
Build
> 生成Signed apk
.- 创建
Keystore path
. - 放
Password, alias, key password
. Build type
select 相应地(例如在 playstore 中发布使用release
)。Signature Version
selectV1
和V2
复选框。Finsih
.- 从
explorer
转到 apk 并将其用于您的playstore
或在设备中作为签名和认证的 apk 文件。
对我来说,选择签名版v1和v2都解决了问题
我得到了保存错误,以防有人遇到这个问题。对我来说,这是因为我在 phone 上有同一个应用程序的多个项目。您需要从 phone.
中删除该应用程序的旧版本问题是因为您有一个测试应用程序版本。所以,你并没有真正升级应用程序!那是两个不同的应用程序。您必须先卸载以前的版本(测试),然后才能安装应用程序的发布(签名)版本。
如果在生成签名 apk 之前有两个选项(V1(jar 签名)和 V2(完整 APK 签名))。您现在应该使用 V1 jar 签名,因为没有向后兼容性,所有 android 版本 < 7 的手机都不会接受此签名。将在下一个 N Developer Preview 中添加向后兼容性。 这个developer.android里面也有关于这个link的解释: https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2
在我的例子中,是 build.gradle 中的 proguardFiles 路径导致了这个问题
对我来说,解决方案是在设备上禁用 Play Protect。
目前,PlayStore 会定期检查应用和设备是否存在有害行为。手动安装签名的 APK 被视为异常行为,因此被阻止。 因此,暂时关闭 播放保护功能,您的安装将发挥魅力!
- step one - open play store and select play protect
- step two - click play protection setting button
- step three - disable
- step four - close and install your APK manually
我今天遇到了这个问题并在这里尝试了一些建议,这就是我解决问题的方法:我清除了 phone 的缓存/垃圾文件,还卸载了应用程序的测试版本和他们的 APK,然后重新安装新的 APK。在担心之前先试试这个。