【问题标题】:Unsigned Release APK not installing未签名的发布 APK 未安装
【发布时间】:2019-06-19 12:52:05
【问题描述】:

只是询问这是预期的方式还是“错误”:在 Android Studio 3.3 上,我生成了一个带有 release 风格的 APK,来自

Build -> Build Bundle(s)/APK -> Build APK

然后我单击“定位”并将 apk(名称清楚地表明未签名)拖放到模拟器(API 级别 PIE)上。安装失败并显示“未安装应用程序”。有没有办法安装未签名的发行版?非常感谢。

【问题讨论】:

  • 你是指手机还是模拟器?它应该可以在模拟器上运行,但要安装在实际设备上,您必须对其进行签名。
  • Android 通常不允许使用未签名的 APK。我不确定@Jimmy 说了什么,但Android 的调试版本可能不需要签名的APK。但是,如果模拟器运行的是 Google Play 服务,则它不是调试版本。
  • @TheWanderer 调试版本使用调试密钥库自动签名。 developer.android.com/studio/publish/app-signing#debug-mode
  • Build>>Analyze APK...
  • @Jumpa 您可以生成未签名的发布 apk,以便负责并拥有权利的人稍后在发布之前对其进行签名。开发团队中的每个人都不必拥有这些权利。

标签: android android-studio apk release android-install-apk


【解决方案1】:

首先,这不是错误。 不允许安装未签名的 apk 是安全功能之一。未签名的 apk 也有一些用例。

对于大多数 android 应用程序开发人员来说,构建一个发布版本,对于公开发布,这是一个令人困惑但正确的方法,是 Build -> Generate Signed Bundle / APK...。

Build -> Build Bundle(s) / APK(s) 是供开发人员使用的,如果未设置签名设置,它将生成未签名的 apk。可以从文件 -> 项目结构... -> 设置签名设置 模块/应用程序 -> 签名选项卡和构建类型选项卡 -> 发布 -> 签名配置。

未签名的 apk 也可以使用 Android Studio 以外的工具进行签名。谷歌、亚马逊等出版商也这样做。他们使用除开发人员签名的签名之外的签名来签名(包装)apk。 “何时签名”与构建过程是分开的,但这并不意味着允许未签名的 apk 安装在设备上。

有像apksigner 这样的开发工具,它是工具之一。开发者有权选择签名工具。我认为未签名的 apk 是为他们准备的。

只是为了知识:
有些人似乎找到了一种方法来暂时禁用此类安全功能,例如this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多