Android: Android Studio簽名打包的兩種方式(zz)

注:給咱們本身開發的app簽名,就表明着我本身的版權,之後要進行升級,也必需要使用相同的簽名才行。簽名就表明着本身的身份(即keystore),多個app可使用同一個簽名。html

若是不知道簽名是啥意思,請自行百度哦。在eclipse中籤名的方法是:選中工程,郵件選擇"export-android-export android application",android

一、方式1:經過Android Studio進行簽名:app

選中app這個module,選擇菜單欄"Build-Generate signed apk":eclipse

30d1daba-bdb4-4dde-9324-89293482a84e

彈出以下界面:gradle

5a3058ac-cba2-44d1-84cf-b77b246bb4d1

上圖中,若是你是第一次使用簽名,就單擊紅框部分建立一個新的簽名;若是你以前有過簽名的文件,就選擇藍框部分進行導入便可。那我就先選擇紅框部分吧:ui

70ae6ac4-ed0b-4938-b3f5-229dba3fea29

3b69eb78-a2bc-408b-b49f-272b46b32a31

3ef16884-13b8-453f-bad5-b9dba1a667f7

f757b8aa-277b-45f0-9afd-403adc82082c

上圖中,點擊"finish"以後,能夠看到Android Studio的最下方顯示:Gradle正在執行assembleRelease這樣一個任務,以下圖所示:url

bf6076fd-480d-48b4-bb1a-e2bfee785e5e

生成簽名好的apk以後,會彈出提示:spa

8b42d822-e3a2-4c66-aea4-6b2b4e83fef3

77cd9b25-b0f0-4f0b-85ec-c00b4e13b61b

 

 

二、方式2:經過命令行的方式進行簽名:命令行

(1)加載Key Store:3d

咱們先刪掉上面的經過第一種方式所簽名的apk文件。接下來進行第二種方式來簽名,即命令行的方式。

打開Project Stucture圖形化界面:

03458b6c-92b8-42be-ab1d-e2c3097570eb

d6d07e96-330b-40c6-bc22-32fc37391144

上圖中,選中app這個module,而後切換到singning標籤欄,緊接着點擊添加,而後生成release簽名信息,緊接着點擊"OK"。接着作以下操做:

c638147d-7741-4c63-9d3a-0066ac959219

上圖中,切換到Build Types標籤,將Signing config選擇爲"release",即將剛剛生成的release簽名信息配置進去。

操做完成以後,咱們能夠看到app這個module的build.gradle文件多出了以下紅框部分的代碼:

f59c1858-e26a-41a4-96b5-f7e32eb6c8ac

而後執行菜單欄的"build-clean Project":

a7af4c5b-23c2-4997-8d6f-47940c1a0f1c

(2)生成realease版本的apk:

緊接着在命令行Terminal輸入以下命令:(AS已經將命令行Terminal集成到了軟件當中)

gradlew assembleRelease

若是運行成功,效果以下:

74e21bb0-7afc-4bc6-9103-a4748f2003bf

生成的簽名好的apk在以下位置:

b8f81109-cf7f-4649-a4da-a4bb91a3c96a

 

三、爲何要使用gradlew命令而不是gradle命令:

在HelloWorld工程目錄下有一個gradle文件夾,在gradle/wrapper目錄下有一個gradle-wrapper.properties文件,打開它:

c5bb106f-081e-40d8-816e-ea04a4814977

上圖表明着HelloWorld這個工程所依賴的gradle的版本信息。上圖的紅線表示,若是咱們的工程中沒有gradle,軟件會根據這個url去下載gradle,終於知道爲啥第一次打開AS時會這麼慢了吧?

若是咱們執行了gradlew命令,其實是執行上面的gradle wrapper,而後找到咱們已經下載好的gradle 2.2.1。若是如今有不少個工程,可是每一個工程的gradle版本都不同,我就必需要將每一個版本的gradle都要配置到環境變量當中,而執行了gradlew命令,就會避免這個麻煩。

相關文章
相關標籤/搜索