理解多渠道打包:五 (来自Android gradle 权威指南)

275 篇文章 4 订阅
7 篇文章 1 订阅

笔记

1.com.android.build.gradle.AppExtension 这个类需要好好看下它的源码。

src目录下的AndroidTest、main、test分别是3个SourceSet.

2.compileSdkVersion

  因为gradle基础知识中,方法的括号和分号可以省略

   然后设置这个参数有两个重载的方法  一个传int值 一个传string值

   所以可以设置为

    compileSdkVersion 23 

 或者 compileSdkVersion  “android-23”

 应该还有这种方法

android.compileSdkVersion = 23

android.compileSdkVersion = “android-23”


3.buildToolsVersion 

 安卓构建工具版本

在SDK目录看到,是一个工具包,包括appt,dex等工具

赋值只有传入String类型

buildToolsVersion “23.0.1”

或者

android.buildToolsVersion = “23.0.1”


4.defaultConfig

也是一个productFlavor,如果不单独对某个Flavor做配置的话,那就会使用默认的配置---defaultConfig

applicationId  包名---默认为null

minSDKVersion 本应用支持的最低API Level ----接收的是一个int值 api level,也可以接收字符串赋值 不过参数是code name 比如:‘Nougat’ 'Marshmallow'

targetSdkVersion 针对还是基于哪个API Level 开发的-----如果没有配置,直接从manifest中读取值 

versionCode 应用内部版本号,主要用于App升级---int型

versionName 用户可见。------String型

以上,所有配置对应的都是ProductFlavor类里的方法或属性

看来这个类 也得好好看看-----ProductFlavor


5.buildTypes

是一个域对象,里面有release debug,在buildTypes{}里也可以新增多个我们需要构建的类型。

minifyEnabled false //minifyEnabled主要用来控制是否运行混淆的。
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //混淆文件 左边是两个文件
//Files嘛 可以传多个文件
signingConfig signingConfigs.forRelease //签名文件

6.testApplicationId---接收的是String值

  testInstrumentationRunner 用于配置单元测试时使用的Runner

  SigningConfig --配置默认的签名信息,对生成的App签名。也是ProductFlavor的一个属性

  proguardFile -----配置proguard文件

  proguardFiles -----配置proguard文件---可以接收多个文件


7.配置签名信息

app debug模式 SDK为debug模式提供了一个默认的签名证书,可以直接使用。

release版本 需要开发者配置签名文件。

一个SigningConfig就是一个签名配置

signingConfigs {//这个变量可在project structure里面配置 jks文件在build->create signed apk
    forRelease {
        keyAlias 'release'
        keyPassword 'release'
        storeFile file('E:/assvnspace/GradleDemo/configForRelease.jks'))
        storePassword 'release'
//storeType 签名证书的类型
//storeFile file('xxxx.xxxx')  说明xxxx.xxxx跟build.gradle是在同一个目录
}

默认的debug.keystore文件在 C:\Users\DELL\.android 下面

我们还可以在buildTypes里面对release/debug类型,分别配置单独的签名

如:

release{

   signingConfig signingConfigs.release

}

然后特别的渠道也可以单独配置单独的签名


8.构建应用类型

applicationIdSuffix:是buildType的一个属性,用于配置基于默认applicationId的后缀。比如defaultConfig中的applicationId为

xxxxx.xxxxx ,然后在buildType中的applicationIdSuffix为.debug。那么构建的debug apk的包名就是xxxxxx.xxxxxx.debug。


8.1.debuggable

也是buildType的一个属性,用于配置是否生成一个可供调试的apk.值为false or true.


8.2.jniDebuggable

也是buildType的一个属性,用于配置是否生成一个可供调试JNI代码的apk。接受boolean类型的值。


8.3.minifyEnabled

也是buildType的一个属性,用于配置是否启用Proguard混淆,接受一个boolean类型的值。


8.4.multiDexEnabled

也是buildType的一个属性,用于配置该buildType是否启用自动拆分多个dex的功能。一般如果应用程序中代码太多,超过65535个方法时,拆分为多个dex的处理。接受一个boolean型参数。


8.5.proguardFile

 是buildType的一个方法,用于配置proguard混淆使用的配置文件。


8.6.proguardFiles

 是buildType的一个方法,用于配置proguard混淆使用的配置文件。可以同时配置多个文件。


8.7.shrinkResources

是buildType的一个属性,用于配置是否自动清理未使用的资源,默认为false。


8.8.sigingConfig

配置该buildType使用的签名配置

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值