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 
  } 
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章