摘要
Android Studio比Eclipse在配置Project签名文件时方便很多,可以同时指定debug和release两种模式下的签名文件。debug模式即Android Studio运行时指定的签名文件,默认使用Android Studio自带的签名文件,当然在开发中集成第三方功能,比如微信登录(收藏、分享、支付)、百度地图、新浪分享等应用程序时,往往需要使用自定义的签名文件,否则调试不了效果。有木有像TeachCourse一样,开发微信登录的时候,每次测试都得使用自定义签名文件导出apk才能测试(Eclipse开发),感觉弱爆了。如今的Android Studio在这方面就好很多了。
一、生成签名文件
Android Studio可以使用Eclipse导出的签名文件,也可以导出自身以jks后缀的签名文件,关于如何导出Android Studio的签名文件可以参考《jks签名文件的导出过程》
二、配置Android Studio运行时签名
选中需要导出的module,点击“Build——>Generate Signed APK”配置本地的签名文件后,默认在module文件夹中生成自定义签名文件的apk,但如果直接运行module,使用的还是debug模式的签名文件,那么类似微信登录的第三方功能,还是无法快速调试,只能拖拽“Generate Signed APK”生成的apk文件到模拟器或真机中,最好的方式就是电脑链接真机,点击“Run——>Run'app'”可以正常使用自定义签名文件编译、打包。这就需要配置Android Studio运行自定义签名。
打开“Build——>Edit Build Types”,默认Build Types提供两种构建模式:debug、release。现在Signing选项中配置自定义的签名文件,然后在debug模式的“Signing Config”选项中选中Signing配置的config名称(这一步很关键),即指定debug模式下使用的是自定义的签名文件。最后会发现在module的build.gradle的文件中添加如下内容:
1. signingConfigs {
2. config {
3. keyAlias 'zhaolinit'
4. keyPassword '123456'
5. storeFile file('E:/release.jks')
6. storePassword 'dazhao?admin'
7. }
8. }
1. buildTypes {
2. release {
3. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
4. }
5. debug {
6. signingConfig signingConfigs.config
7. }
8. }
SigningConfigs标签中配置自定义的签名文件,config是定义的名称(和buildTypes的名称对应),里面写入签名文件的别名、别名密码、文件路径和文件密码。
在buildTypes标签中指定release和debug模式下的一些属性,上面配置表示release模式下使用默认的混淆文件proguard-android.txt对应用程序代码进行混淆;debug模式下使用自定义的签名文件即signingConfigs配置的config属性对应用程序进行编译、打包,这就是我们常说的Android Studio运行时自定义签名。
通常新手不会记得build.gradle文件各种标签的含义和使用方法,Android Studio配置上面属性建议使用窗口的形式添加,点击“Build——Edit Build Types”,看到Signing、Build Types两个选项,然后按照上文添加即可。同时还要Properties、Flavors、Dependencies选项,Flavors选项中默认我们的配置,在这里同样可以指定Android Studio运行时签名文件,看到“Signing Config”,选择在Signing定义的属性名称config,最后点击“OK”,在Build.gradle生成如下代码:
1. defaultConfig {
2. applicationId "com.shangmai.recovery"
3. minSdkVersion 11
4. targetSdkVersion 24
5. testApplicationId "com.shangmai.recovery.test"
6. testInstrumentationRunner "android.test.InstrumentationTestRunner"
7. signingConfig signingConfigs.config
8. }
总结
配置Android Studio运行时签名,在配置之前需要指定本地的签名文件,即signingConfigs标签中的内容,然后编辑Build Types中的“Signing Config”属性,最后连接真机运行项目测试。