Android studio 项目签名

Android签名是为了保证应用发布者是本人,大致有几种:以前Eclipse用keyStore进行签名;现在Android Studio开发app采用JKS签名;Android系统签名采用的是pem/pk8.

每个Android App都会有自己的签名,如果我们没有指定签名,编译时会默认用SDK目录下的debug签名文件。

常见的签名jks在Android studio中有两种方式给app签名,一种是build时generate signed apk;一种是在build文件中配置签名信息。使用方法如下:
在这里插入图片描述
在这里插入图片描述

或者使用方法二:(明文展示,不安全)

android {  
    signingConfigs {  
        release {  
            storeFile file("WuXiaolong.jks")
            storePassword 'android'
            keyAlias 'android'
            keyPassword 'android'
        }          
    }  
    buildTypes {
        debug {
            signingConfig signingConfigs.release
        }        
    }
}

方法三:Terminal输入命名行签名(明文展示,不安全)
需要提前在配置文件中配置

android {  
    signingConfigs {  
        release {  
            storeFile file("WuXiaolong.jks")
            storePassword 'android'
            keyAlias 'android'
            keyPassword 'android'
        }          
    }  
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }      
    }
}

然后在Terminal输入命令

gradlew assembleRelease

打包成功的路径是在:\app\build\outputs\apk\app-release.apk

博主推荐的方法:

通过读取文件,一般地,以.properties格式后缀的文件,在上传github时会进行自动过滤。这类文件也相对安全,不容易会反编译。

新建keystore.properties文件,根据项目情况写入配置信息(开发者只需要更改keystore.properties里面的信息)

storeFile=keyStore.jks 
storePassword=123456 
keyAlias=encrypt 
keyPassword=123456 

build.gradle中配置

signingConfigs { 
  // 从keystore.properties文件中读取信息 
  def keystorePropertiesFile = rootProject.file("app/keystore.properties") 
  def keystoreProperties = new Properties() 
  keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 
  debug { 
    storeFile file(keystoreProperties['storeFile']) 
    storePassword keystoreProperties['storePassword'] 
    keyAlias keystoreProperties['keyAlias'] 
    keyPassword keystoreProperties['keyPassword'] 
  } 
  release { 
    storeFile file(keystoreProperties['storeFile']) 
    storePassword keystoreProperties['storePassword'] 
    keyAlias keystoreProperties['keyAlias'] 
    keyPassword keystoreProperties['keyPassword'] 
  } 
} 
//然后在这里引用上面配置
buildTypes { 
  debug { 
    signingConfig signingConfigs.debug 
  } 
  release { 
    minifyEnabled false 
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    signingConfig signingConfigs.release 
  } 
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章