只是问这是预期的方式还是“错误”:在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)上。安装失败,显示“未安装应用程序”。有没有办法安装未签名的发行版本?非常感谢。
答案 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之类的安全功能的方法。