生成带签名的apk时config和release标签之间有什么区别?

时间:2019-01-06 22:03:46

标签: java android

我看了一些有关如何发布apk的教程,当我完成后,我意识到在gradle中添加了一些行,诸如此类

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="content">
  <!-- Your content -->
  <div id="indicator"></div>
<div>
<div id="calculation">Scroll down</div>

但是当我在互联网上搜索或遇到一些问题时,我会看到

signingConfigs {
    config {
        keyAlias 'akeyalias'
        keyPassword '*******'
        storeFile file("apath")
        storePassword '********'
    }
  } 

那么有什么区别,可以使用config生成发布apk吗?

1 个答案:

答案 0 :(得分:0)

如果您有一个由多个开发人员开发的应用程序,则可能需要从build.gradle文件中删除签名密钥,并将其放入单独的属性文件中,例如,为了安全起见,您将创建一个单独的属性文件,并添加如下所示的签名密钥:

android {
    signingConfigs {
        config {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    ...
  }


直接来自Android文档:

  

创建签名配置时,Android Studio会添加您的   将纯文本信息签名到模块的build.gradle文件。   如果您与团队合作或将代码开源,则应   将此敏感信息移出构建文件,因此不会   容易被他人访问。为此,您应该创建一个单独的   属性文件以存储安全信息并在其中引用该文件   您的构建文件...


实际上,将签名配置移动到单独的文件还有很多,所以请参阅本节Remove signing information from your build files


如果仅由您控制应用程序,或者您信任团队(不建议使用),则可以将签名密钥保留在build.gradle中,并使用其他形式,例如:

signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }