編輯:關於Android編程
一般來說,用gradle編譯去生成apk,有兩種編譯設置,一種是調試用的-debug mode,一種是最終包-release mode。但是無論是哪種類型,app必須在安裝到虛擬機或設備上必須簽名。當編譯為debug mode 的時候,用debug key。編譯為release mode時候用private key。
無論是用debug還是release模式去編譯,你都需要run and build你的module。這個過程會生成一個可以安裝在模擬器或者設備上的apk。當你選擇使用debug mode 模式去編譯一個apk的時候,這個apk文件會被SDK tools在build.gradle文件中debuggable true的基礎設置上,使用debug key自動簽名。以至於改apk可以立即安裝。你不能散布一個用debug key簽名的應用。當你選擇使用release mode 編譯一個apk,這個.apk沒有被簽名,所以必須使用private key手動簽名,利用Keytool and Jarsigner 設置module 中的build.gradle 文件。
Building in Debug Mode
on Windows platforms, typethis command:
> gradlew.bat assembleDebug
On Mac OS and Linux platforms,type these commands:
$ chmod +x gradlew
$ ./gradlew assembleDebug
The first command (chmod) adds the executionpermission to the Gradle wrapper script and is only necessary the first timeyou build this project from the command line
編譯完成的apk,在app/build/outputs/apk/
為任何lib moudels 輸入的AAR在lib/build/outputs/libs/.
To see a list of all available build tasks for yourproject, type this command:
$ ./gradlew tasks
Building in Release Mode
在開始以release mode編譯一個apk之前,請注意你必須用private key簽名,然後使用zipalign 工具。
有兩種途徑去編譯一個release mode模式的apk。
第一種(Build unsigned):在release mode下編譯未簽名的package,然後手動sign and align package。
第二種(Build signed and aligned):容許build script 去sign and align package。
On Windows platforms, type this command:
> gradlew.bat assembleRelease
On Mac OS and Linuxplatforms, type this command:
$ ./gradlew assembleRelease
這創建的apk文件在項目的bin目錄下,名字格式為
Note:在此時,未簽名的apk不可以安裝到設備上,直到其簽名為止。
一旦你創建了一個為簽名的apk,下一步就是使用private key去簽名,然後用zipalign 去對其字節。如何實現,請看我的下一篇文章《signing your application》
在腳本中配置,實現自動簽名,build.gradle寫法如下。
... android { ... defaultConfig {...} signingConfigs { release { storeFile file("myreleasekey.keystore") storePassword "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { release { ... signingConfig signingConfigs.release } } }
上一篇我們學習了自定義ViewGroup的基本步驟,並做了一個CustomGridLayout的實例,這篇我們繼續來說說自定義ViewGroup。 Android中當有大
今天遇到一些關於在子線程中操作Handler的問題,感覺又要研究源代碼了,但是關於Handler的話,我之前研究過,可以參考這篇文章:http://blog.csdn.n
1.ContentProvider簡介 在Android中有些數據(如通訊錄、音頻、視頻文件等)是要供很多應用程序使用的,為了更好地對外提供
我們編寫的是Andorid的HTTP協議多線程斷點下載應用程序。直接使用單線程下載HTTP文件對我們來說是一件非常簡單的事。那麼,多線程斷點需要什麼功能?1.多線程下載,