1. 程式人生 > >Android: Android Studio簽名打包的兩種方式(zz)

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

信息 rda pan 相同 prop .cn 一個 一次 ack

註:給我們自己開發的app簽名,就代表著我自己的版權,以後要進行升級,也必須要使用相同的簽名才行。簽名就代表著自己的身份(即keystore),多個app可以使用同一個簽名。

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

1、方式1:通過Android Studio進行簽名:

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

技術分享

彈出如下界面:

技術分享

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

技術分享

技術分享

技術分享

技術分享

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

技術分享

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

技術分享

技術分享

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

(1)加載Key Store:

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

打開Project Stucture圖形化界面:

技術分享

技術分享

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

技術分享

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

操作完成之後,我們可以看到app這個module的build.gradle文件多出了如下紅框部分的代碼:

技術分享

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

技術分享

(2)生成realease版本的apk:

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

gradlew assembleRelease

如果運行成功,效果如下:

技術分享

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

技術分享

3、為什麽要使用gradlew命令而不是gradle命令:

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

技術分享

上圖代表著HelloWorld這個工程所依賴的gradle的版本信息。上圖的紅線表示,如果我們的工程中沒有gradle,軟件會根據這個url去下載gradle,終於知道為啥第一次打開AS時會這麽慢了吧?

如果我們執行了gradlew命令,實際上是執行上面的gradle wrapper,然後找到我們已經下載好的gradle 2.2.1。如果現在有很多個工程,但是每個工程的gradle版本都不一樣,我就必須要將每個版本的gradle都要配置到環境變量當中,而執行了gradlew命令,就會避免這個麻煩。
來源: http://www.cnblogs.com/gao-chun/p/4891275.html

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