Android Studio AndroidDebugKey

时间:2017-05-03 14:16:39

标签: android android-studio

我想更改gradle构建使用的AndroidDebugKey的位置和路径。

默认情况下,它指向$ HOME。/ android / debug.keystore。 Android Studio(2.3.1)中将其更改为另一个位置的过程是什么。

1 个答案:

答案 0 :(得分:0)

重复的问题:look at 3rd answer。 这是上一个链接的复制/粘贴。

如果愿意,您可以指定自己的调试密钥库。此解决方案还使您能够将密钥存储在项目目录之外,并在签名过程中享受自动化。是的,您可以转到File -> Project Structure并在Signing选项卡中指定签名密钥库和密码,但这会将明文条目放入您的gradle.build文件中,这意味着您的秘密可能会被披露(特别是在存储库提交中)。使用此解决方案,您可以在调试和发布版本中控制使用自己的密钥库和自动化的魔力。

1) 创建一个gradle.properties(如果您还没有)。

此文件的位置取决于您的操作系统:

   /home/<username>/.gradle/ (Linux)
   /Users/<username>/.gradle/ (Mac)
   C:\Users\<username>\.gradle (Windows)

2)添加指向yourprojectname.properties文件的条目。  (Windows的例子)

yourprojectname.properties=c:\\Users\\<username>\\signing\\yourprojectname.properties

3)使用以下信息在您在步骤2中指定的位置创建yourprojectname.properties文件:

keystore=C:\\path\\to\\keystore\\yourapps.keystore
keystore.password=your_secret_password

4)修改您的gradle.build文件以指向yourprojectname.properties文件以使用变量。

if(project.hasProperty("yourprojectname.properties")
        && new File(project.property("yourprojectname.properties")).exists()) {

    Properties props = new Properties()
    props.load(new FileInputStream(file(project.property("yourprojectname.properties"))))

    android {
        signingConfigs {
            release {
                keyAlias 'release'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
            debug {
                keyAlias 'debug'
                keyPassword props['keystore.password']
                storeFile file(props['keystore'])
                storePassword props['keystore.password']
            }
        }
        compileSdkVersion 19
        buildToolsVersion "20.0.0"
        defaultConfig {
            applicationId "your.project.app"
            minSdkVersion 16
            targetSdkVersion 17
        }
        buildTypes {
            release {
            }
        }
    }

}

dependencies {
    ...
}

5)享受!现在您的所有密钥都将位于目录的根目录之外,但您仍然可以为每个构建获得自动化的乐趣。

如果你的gradle.build文件中有关于&#34; props&#34;的错误改变它是因为你没有执行&#34; android {}&#34;在if变量被赋值的第一个props条件内阻塞,所以只需将整个android {...}部分移动到分配props变量的条件,然后再试一次。

我根据找到的信息herehere将这些步骤拼凑在一起。