您的位置:首页 > 移动开发 > Android开发

Android Studio调试打包签名设置

2017-05-05 17:09 295 查看
在开发中,我们很有可能会引入百度地图等的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等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: