android - 未签名的发布 APK 未安装
问题描述
只是询问这是预期的方式还是“错误”:在 Android Studio 3.3 上,我生成了一个具有发布风格的 APK,来自
Build -> Build Bundle(s)/APK -> Build APK
然后我单击“定位”并将apk(名称明确表示未签名)拖放到模拟器(API级别PIE)上。安装失败并显示“未安装应用程序”。有没有办法安装未签名的发行版?非常感谢。
解决方案
首先,这不是一个错误。不允许安装未签名的 apk 是安全功能之一。未签名的 apk 有一些用例。
对于大多数 android 应用程序开发人员来说,构建一个发布版本,对于公开发布,这是一个令人困惑但正确的方法,是 Build -> Generate Signed Bundle / APK...。
Build -> Build Bundle(s) / APK(s) 是供开发人员使用的,如果未设置签名设置,它将生成未签名的 apk。可以从文件 -> 项目结构... -> 模块/应用程序 -> 签名选项卡和构建类型选项卡 -> 发布 -> 签名配置中设置签名设置。
未签名的 apk 也可以使用 Android Studio 以外的工具进行签名。谷歌、亚马逊等出版商也这样做。他们使用除开发人员签名的签名之外的签名来签名(包装)apk。“何时签名”与构建过程是分开的,但这并不意味着允许未签名的 apk 安装在设备上。
有像apksigner这样的开发工具,它是工具之一。开发者有权选择签名工具。我认为,未签名的 apk 是为他们准备的。
仅供参考:
有些人似乎找到了一种暂时禁用此类安全功能的方法。
推荐阅读
- swift - 从 collectionView didSelectItemAt:: 推送视图控制器时,仪器中的测试泄漏(Leaks-xcode)
- blazor - Blazor 客户端/服务器应用程序在获取数据 api 请求时出现 AAD 身份验证错误
- azure - 事件中心触发器将相同的消息推送到多个应用程序功能
- java - Jsoup如何从html表格的特定列中获取文本
- python - 如何从方法中访问属性?
- c++ - 在程序运行时监控 VxWorks 中的任务 CPU 利用率
- c# - 如何在文本框中显示 json(双引号问题)?
- python - 如何收集列表并加载到数据框中
- javascript - JavaScript:将静态网站下载为 zip 文件并显示该网站
- javascript - 如何真正清除 PWA 中的缓存