Android Studio签名配置方法

在开发过程中,有时候在第三方集成时候,会遇到测试环境无法调试或调用失败的情况。例如第三方的分享和登录,需要软件签名之后才能成功调用第三方的接口。但是调试过程中频繁打包签名很麻烦,效率也很低。那么有什么方法,可以不用打包去签名呢?方法当然是有的,下面就介绍几种签名的方法。

1. 签名配置

(一)通过项目配置界面配置签名
1)点击 File —— Project Structure... 进入项目配置界面;

Android Studio签名配置方法_第1张图片
项目配置图

2)选择 app —— Singing —— Add 添加签名相关信息;

Android Studio签名配置方法_第2张图片
配置项目签名图

3)选择 Build Types —— Singing Config 创建签名配置,点击 OK

Android Studio签名配置方法_第3张图片
创建签名配置图

(二)通过 Gradle命令在 build.gradle 文件中配置签名
1)在项目app目录下的build.gradle里配置签名信息:

android {
    signingConfigs {
        debug {
            keyAlias 'key'
            keyPassword '123456'
            storeFile file('E:/key/keys.jks')
            storePassword '123456'
        }
        release {
            keyAlias 'key'
            keyPassword '123456'
            storeFile file('E:/key/keys.jks')
            storePassword '123456'
        }
    }

    buildTypes {
        debug {
            debuggable true
            zipAlignEnabled true
            debuggable true
            minifyEnabled false //是否混淆
            shrinkResources false //是否去除无效的资源文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'           
            signingConfig signingConfigs.debug            
        }
        release {
            zipAlignEnabled true
            debuggable false
            minifyEnabled true //是否混淆
            shrinkResources true //是否去除无效的资源文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'          
            signingConfig signingConfigs.release
           
        }
    }
    ...
}

(三)通过 Gradle命令在 local.properties 和 build.gradle 文件中配置签名
项目下的local.properties主要存储环境资源的相关信息。默认是被忽略的,不会添加到版本控制里面,对于里面的配置信息会相对安全不会泄露。

1)在项目根目录下local.properties里自定义配置:

# sdk、ndk路径
ndk.dir=E\:\\SDK\\ndk-bundle
sdk.dir=E\:\\SDK
# 签名文件
key.file=E\:\\key\\keys.jks
keyPassword=123456
keyAlias=key
storePassword=123456

2)在项目app目录下的build.gradle里读取local.properties字段信息:

android {  
     //加载资源
      Properties properties = new Properties()
      InputStream inputStream = project.rootProject.file('local.properties').newDataInputStream()
      properties.load(inputStream)
      //读取文件
      def sdkDir = properties.getProperty('key.file')      
      //读取字段
      def keyfile =file(sdkDir)
      def key_keyAlias = properties.getProperty('keyAlias')
      def key_keyPassword = properties.getProperty('keyPassword')
      def key_storePassword = properties.getProperty('storePassword') 

  signingConfigs {
      release {
            storeFile keyfile
            storePassword key_storePassword
            keyAlias key_keyAlias
            keyPassword key_keyPassword
      }
      debug{
            storeFile keyfile
            storePassword key_storePassword
            keyAlias key_keyAlias
            keyPassword key_keyPassword
      }
    }

    buildTypes {
        debug {
            debuggable true
            zipAlignEnabled true
            debuggable true
            minifyEnabled false //是否混淆
            shrinkResources false //是否去除无效的资源文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (keyfile.exists()) {
                signingConfig signingConfigs.debug
            }
        }
        release {
            zipAlignEnabled true
            debuggable false
            minifyEnabled true //是否混淆
            shrinkResources true //是否去除无效的资源文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (keyfile.exists()) {
                signingConfig signingConfigs.release
            }
        }
    }
    ...
}

方法二方法三 其实是一样的,只是写法不同,方法三方法二 便利和安全。

2. 执行打包

配置好签名后,执行打包签名。详细方法请移驾 —— 《Android Studio签名打包APK教程》

3. 签名查看

查看应用签名方法,详细方法请移驾 —— 《Android查看应用签名方法》

你可能感兴趣的:(Android Studio签名配置方法)