未签名的版本APK未安装

时间:2019-01-25 16:43:24

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

只是问这是预期的方式还是“错误”:在Android Studio 3.3上,我从

release 风味生成了一个APK,

public class ReservationRow
{
    public int ReservationId { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }

    public ReservationRow(int id, DateTime startDate, DateTime endDate)
    {
        ReservationId = id;
        StartDate = startDate;
        EndDate = endDate;
    }
}

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

1 个答案:

答案 0 :(得分:2)

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

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

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

未签名的APK也可以使用Android Studio以外的工具进行签名。像Google,Amazon等发行商也是如此。他们使用开发人员已经签名的签名以外的其他签名对apk进行签名(包装)。 “何时签名”与构建过程分开,但这并不意味着允许将未签名的apk安装在设备上。

apksigner之类的开发人员工具,它是其中一种工具。开发人员有权选择签名工具。我认为,未签名的APK适用于他们。

只是为了知识:
有些人似乎找到了暂时禁用this之类的安全功能的方法。