Android Studio调试打包签名设置

xiaoxiao2021-02-28  53

在开发中,我们很有可能会引入百度地图等的API,很多这些第三方API要求开发者在第三方开放平台中进行注册,注册一般会需要应用的Package Name以及开发工具的SHA1值等等,从而方便第三方平台进行验证。常规做法便是获取Android Studio的SHA1值,然后到开发平台进行第三方API密钥的申请,从而使用第三方API。然而这种做法在独立开发是没有问题的,一旦该项目是团队开发,由于每个开发者的Android Studio的SHA1值不同,导致申请的key在其他开发者电脑中并不能使用。利用Android Studio,我们可以方便地设置调试打包的签名设置,从而解决这个问题。

为应用生成签名密钥

当项目进行打包时,我们一般会进行应用签名,所以我们可以提前生成应用的打包签名密钥。Android Studio可以方便地生成应用的签名密钥。

Build->Generate signed APK->选择要打包的项目(默认为app),next->create new Key Store接着便会进入生成新的密钥界面,如下图所示 填入存储地址,密码,别名,别名密码,证书相关信息,点击ok即可

获取签名的SHA1值

打开Android Studio的终端Terminal,输入命令

keytool -list -v -keystore ~/your path -storepass your password

第三方平台注册应用

该步骤根据不同的第三方平台进行操作,获取应用的appId,secretKey等信息。

build.gradle文件配置

正常情况下,Android Studio有默认的调试证书,我们调试应用时,使用的是默认的调试证书,显然该证书的SHA1值或者MD5值和我们的签名证书不同,因此,第三方验证根本无法通过,导致第三方接口不起作用。所以我们需要利用Android Studio强大的gradle编译功能,设置应用调试编译或者打包编译时,使用的是我们自己的签名证书。

为了方便团队开发,我们需要把生成的签名证书放入到工程文件中,上传到SVN或者git服务器。为了方便,我们直接放在应用的根目录下,即app目录下,这样便和build.gradle文件在相同的目录。

在build.gradle的android模块中添加以下信息

signingConfigs { debug { storeFile file("your key.jks") storePassword 'your password' keyAlias 'your key alias' keyPassword 'your password' } release { storeFile file("your key.jks") storePassword 'your password' keyAlias 'your key alias' keyPassword 'your password' } } 调试和发布版本我们一般使用相同的签名证书。并且修改buildType块如下

buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug{ signingConfig signingConfigs.debug } }

这样设置后,应用调试编译就会使用我们自己的签名证书。

通过Android Studio的签名设置功能,我们可以方便地在团队开发中使用第三方框架,而不必每人自己切换第三方框架的appId以及secretKey等。

转载请注明原文地址: https://www.6miu.com/read-35818.html

最新回复(0)