文/程序員男神
前言
最近跟朋友小聚了一下,感觸頗深。作為一個在一年前進入社會的人來說,他們的迷茫就像當初的自己一樣,沒有目標,很浮躁,總是在羨慕別人的高工資以及待遇。卻少了一點腳踏實地?;貧w正題,讓我們腳踏實地的去學習吧,也許某個瞬間我們也和他們一樣,慢慢的忘記了當初的夢想。

目錄
簽名打包:
(1)為什么簽名?
(2)Android Studio自帶簽名打包
(3)命令行簽名打包
概述
1、為了保證每個應用程序開發(fā)商合法ID,防止部分開放商可能通過使用相同的Package Name來混淆替換已經(jīng)安裝的程序,我們需要對我們發(fā)布的APK文件進行唯一簽名,保證我們每次發(fā)布的版本的一致性(如自動更新不會因為版本不一致而無法安裝)。
注:給我們自己開發(fā)的app簽名,就代表著我自己的版權,以后要進行升級,也必須要使用相同的簽名才行。簽名就代表著自己的身份(即keystore),多個app可以使用同一個簽名。
2、方式1:通過Android Studio進行簽名:
選中app這個module,選擇菜單欄"Build-Generate signed apk":

彈出如下界面:

如果你已經(jīng)有了簽名文件.jsk那么就選擇③導入文件,這時①中就是文件路徑,④是keystore的密碼,⑤是別名,⑥是文件的密碼。
我們這里默認沒有.jsk文件。所以點擊②新建一個.jsk文件。

填寫如下圖:


點擊Next:

點擊"finish"之后,就可以生成相應的Apk文件。

3、方式2:通過命令行的方式進行簽名:
(1)加載Key Store:
我們先刪掉上面的通過第一種方式所簽名的apk文件。接下來進行第二種方式來簽名,即命令行的方式。
這種方法是在假設你已經(jīng)有了jsk文件的前提下面(這里我們用在第一中方法中生成的winningkey.jks),打開Project Stucture圖形化界面:

可以看到在app的build.gradle中生成了:
signingConfigs {
release {
keyAlias 'test'
keyPassword 'XXXXXX'
storeFile file('E:/Projects/winningkey.jks')
storePassword 'XXXXXX'
}
}
接下來:

可以看到在app的build.gradle中生成了:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
在Android Studio中的terminal 中使用gradlew assembleRelease命令,可以在outputs的apk中生成簽名后的apk文件:

至此,我們的Apk文件生成。

總結
參考文獻:http://blog.csdn.net/zuiwuyuan/article/details/48552701
打包多個發(fā)布渠道:http://blog.csdn.net/zuiwuyuan/article/details/48636283
Android Studio的兩種簽名打包就是這樣,上面圖文并茂,很詳細,希望可以幫助到你。