1. 程式人生 > >Android Studio生成簽名APK方法

Android Studio生成簽名APK方法

打包分debug版和release包,通常所說的打包指生成release版的apk,release版的apk會比debug版的小,release版的還會進行混淆和用自己的keystore簽名,以防止別人反編譯後重新打包替換你的應用。 

apk身份證就是我們的“.jks”檔案。所以這個jks檔案很重要。
如果你同一程式碼,生成兩個jks檔案打包,那就代表的是兩個軟體。
打包當然有很多種途徑,可以用AS自帶的簽名,也可以通過Gradle簽名等,這裡就講講常規的。
一、使用Android Studio生成:

首先 我們選擇Build -> Generate Signed APK

會出現:
在這裡插入圖片描述
因為我們是沒有金鑰的(身份證)所以我們要去生成一個金鑰,所以這裡我們選擇 Create new…
(注意:這裡有兩個“金鑰的密碼” 因為一個是金鑰的密碼,一個是key的密碼,但是通常我們在設定的時候會選擇設定同一個,這樣方便我們記憶,所以這裡都認為是金鑰的密碼。)

選擇Create new…之後會出現:
在這裡插入圖片描述

點選ok之後,則選擇好了檔案,並生成了jks檔案了。

點選ok之後, 會出現:
在這裡插入圖片描述
這些都是自動帶出來的
是否記住密碼,你要是怕你忘記密碼,你就可以選擇記住密碼。
接下來就是Next
在這裡插入圖片描述
最後點選Finish
正在編譯,當AS的右上角出現
在這裡插入圖片描述
表示打包成功
點選直接開啟生成的apk檔案的位置
在這裡插入圖片描述


二、 使用Gradle 生成:
1.編輯 根目錄檔案 gradle.properties

新增如下內容:

KEY_PATH=E:/test.jks
KEY_PASS=123456
ALIAS_NAME=test
ALIAS_PASS=123456

2.編輯 app/build.gradle 讀取指定的路徑密碼

在android 閉包中新增signingConfigs閉包:

android {
compileSdkVersion 25
buildToolsVersion “25.0.3”
defaultConfig {
applicationId “com.example.test”
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName “1.0”
testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner”
}
signingConfigs {
config {
storeFile file(KEY_PATH)
storePassword KEY_PASS
keyAlias ALIAS_NAME
keyPassword ALIAS_PASS
}
}

在buildTypes release 閉包中新增 signingConfig signingConfigs.config 應用前面的簽名配置(ps:signingConfigs閉包必須在buildTypes閉包前)

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro
signingConfig signingConfigs.config
}
}

3.點選右側工具欄的Gradle->專案名->:app->Tasks->build
在這裡插入圖片描述
assemble 用於生成測試版和正式版的apk
assembleDebug 用於生成測試版apk
assembleRelease 用於生成正式版apk

點選assembleRelease ,提示BUILD SUCCESSFUL,說明生成成功
apk自動生成在app/build/outputs/apk目錄
在這裡插入圖片描述