Android 中文API:Running Gradle Builds

?    ?

一般来说,用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。

Build unsigned

On Windows platforms, type this command:

> gradlew.bat assembleRelease

On Mac OS and Linuxplatforms, type this command:

$ ./gradlew assembleRelease

这创建的apk文件在项目的bin目录下,名字格式为<your_module_name>-unsigned.apk.

Note:在此时,未签名的apk不可以安装到设备上,直到其签名为止。

一旦你创建了一个为签名的apk,下一步就是使用private key去签名,然后用zipalign 去对其字节。如何实现,请看我的下一篇文章《signing your application》

Build signed and aligned

在脚本中配置,实现自动签名,build.gradle写法如下。

...android { ... defaultConfig {...} signingConfigs {   release {    storeFile file("myreleasekey.keystore")    storePassword "password"    keyAlias "MyReleaseKey"    keyPassword "password"     }    } buildTypes {    release {    ...    signingConfig signingConfigs.release     }    }}

...

作者有话说:如果您需要Android中文API,请扫一扫下面的二维码,您的关注,就是我的动力,做技术,我们认真的。



时间: 2024-10-11 12:17:53

Android 中文API:Running Gradle Builds的相关文章

Android 中文API (65) —— BluetoothClass[蓝牙]

前言 本章内容是android.bluetooth.BluetoothClass,为Android蓝牙部分的章节翻译.用于描述远端设备的类型,特点等信息,通过getBluetoothClass()方法获取代表远端设备属性的BluetoothClass对象.版本为Android 2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU&

Android 中文API (67) —— BluetoothClass.Device.Major

前言 本章内容是android.bluetooth.BluetoothClass.Device.Major,为Android蓝牙部分的章节翻译,版本为Android 2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 [email protected]. 声明 欢

Android 中文API (68) —— BluetoothClass.Service

前言 本章内容是 android.bluetooth.BluetoothClass.Service,为Android蓝牙部分的章节翻译,版本为 Android 2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 [email protected]. 声明 欢迎转载

Android 中文API (66) —— BluetoothClass.Device

前言 本章内容是android.bluetooth.BluetoothClass.Device,为Android蓝牙部分的章节翻译,版本为Android 2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 [email protected]. 声明 欢迎转载,但请

Android 中文API (70) —— BluetoothDevice[蓝牙]

前言 本章内容是  android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android  2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 [email pr

Android 中文API (69) —— BluetoothAdapter[蓝牙]

前言 本章内容是  android.bluetooth.BluetoothAdapter,为Android蓝牙部分的章节翻译.本地蓝牙设备的适配类,所有的蓝牙操作都要通过该类完成.版本为 Android  2.3   r1,翻译来自中山大学的"Android Club SYSU",欢迎访问他们的WIKI:http://www.android-wiki.net,再次感谢"Android Club SYSU"!期待你一起参与Android中文API的翻译,联系我 [em

Android 中文 API (40) —— RatingBar

Android 中文 API (40) —— RatingBar 前言 本章内容是 android.widget.RatingBar,译为"评分条",版本为Android 2.2 r1,翻译来自"madgoat"和"wallace2010",欢迎大家访问他们的博客:http://madgoat.cn/.http://blog.csdn.net/springiscoming2008,再次感谢"madgoat"和"wal

Android 中文API:如何安全的为APK进行签名?

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 做最用心的Android技术分享,微信公众账号"码农搬砖",我的选择. -----------------------------------

Android 中文api,Debug签名证书过期(Expiry of the Debug Certificate)

在debug模式下,key值得有效期为365天,如果过期了,那么编译会出错. 为了处理这个问题,你可以删除debug.keystore这个文件.它的位置在: (1)  OS X/Linux: ~/.android/ (2)   WindowsXP:C:\Documents and Settings\<user>\.android\ (3)  Windows Vista and Windows 7 : C:\Users\<user>\.android\ 当你再次编译的时候,编译工具会