Android Studio - 在模拟器上运行已签名的apk

ppp*_*ppp 8 android apk android-studio

这可能听起来非常微不足道,但作为一个Android新手,我发现自己被埋在了大量的哈希令牌钥匙库和钥匙工具之下,这可能有点压倒性.

我试图让android studio在我的自定义密钥库而不是debug.keystore签名的模拟器上运行我的应用程序

这是一个选项,还是我每次进行更改时都必须生成一个签名的.apk,然后通过adb安装它然后从模拟设备的菜单运行它?

在测试应用程序时还是一个很好的做法,还是应该避免它?

Age*_*opf 20

在使用Android Studio UI创建签名配置时遇到问题后,我成功管理了通过gradle构建文件进行设置.

打开项目build.gradle文件.它应该包含这样的东西:

android{
    //signingConfigs goes here
    defaultConfig{
        //SDK version, version code etc
    } 

     //Some more stuff
}
Run Code Online (Sandbox Code Playgroud)

如果它不在那里,请在android下面添加以下代码段{

signingConfigs {
    debug {
        storeFile file(project.property("MyApp.signing"))
        storePassword project.property("MyApp.signing.password")
        keyAlias project.property("MyApp.signing.alias")
        keyPassword project.property("MyApp.signing.password")
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,在build.gradle文件所在的同一目录中,您应该有一个gradle.properties文件(如果没有,请创建它).我们现在将上面使用的属性添加到属性文件中以映射值:

MyApp.signing=RelativeOrAbsolutePathToKeystore
MyApp.signing.password=yourPassword
MyApp.signing.alias=aliasNameOfYourKeystore
Run Code Online (Sandbox Code Playgroud)

keystore.jsk文件(通过Android Studio生成)位于app目录上方的一个目录(属性文件所在的位置)的示例:

MyApp.signing=../myapp.keystore.jsk
MyApp.signing.password=helloworkd
MyApp.signing.alias=myapp_alias
Run Code Online (Sandbox Code Playgroud)

然后,上面的配置将使用密钥对调试版本进行签名(因为我们的signedConfigs是为调试版本而制作的).

因此,请确保在Android Studio中将构建变体设置为"debug".如果你想为发布构建切换所有这些,你的构建版本将发布,你的签名会发布{...}而不是调试{...},或者如果你想在它们之间切换,只需添加两者.


Sco*_*rta 16

您只需将签名配置添加到调试版本类型,它就会使用它.您可以通过"项目结构"对话框执行此操作 - 在模块中,选择"签名"选项卡并配置签名信息,然后在"构建类型"选项卡中,对于"签名配置"弹出窗口,选择它.