Android之build

1.app下的build


compileSdkVersion:
作用:使用什么版本编译你的应用(推荐使用最新版本的SDK)
修改compileSdkVersion不会改变运行时的行为,当你修改了compileSdkVersion的时候,可能会会出现新的编译警告、编译错误,但新的compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用。
注意:如果使用 Support Library ,那么使用最新发布的 Support Library 就需要使用最新的 SDK 编译。

minSdkVersion:
指明应用程序运行所需的最小API。
如果系统的API level低于android:minSdkVersion设定的值,那么android系统会阻止用户安装这个应用
如果指明了这个属性,并且在项目中使用了高于这个API level的API, 那么会在编译时报错。
如果只在较高版本的系统上才使用某些 API,通常使用运行时检查系统版本的方式解决。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
            //do something
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP){
            //do something
}

targetSdkVersion:
targetSdkVersion 是 Android 提供向前兼容的主要依据
将 target 更新为最新的 SDK 是所有应用都应该优先处理的事情。但这不意味着你一定要使用所有新引入的功能,也不意味着你可以不
做任何测试就盲目地更新 targetSdkVersion ,请一定在更新 targetSdkVersion 之前做测试!
如果平台的API Level高于你的应用程序中的targetSdkVersion属性指定的值,系统会开启兼容行为来确保你的应用程序继续以期望的
形式来运行。你可以通过指定targetSdkVersion来匹配运行程序的平台的 API level来禁用这种兼容性行为。举例来说,设置这个值为11
或更高,当你的应用运行在Android3.0或更高的系统上时,系统会为你的应用使用新的默认主题(Holo主题),并且当运行在大屏幕的设
备上时会禁用屏幕兼容模式(screen compatibility mode),因为支持了 API level 11就暗示了支持大屏幕。

2.Error:(26, 13) Failed to resolve: com.android.support:appcompat-v7:27.+问题:

在项目build下:

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" }//maven仓库
    }
}

AS3.0以上:

allprojects {
    repositories {
        jcenter()
        google()
    }
}

3.build很慢的解决方法:

在Android Studio构建build的时候,很大一部分工作是在创建java相关的工作,比如创建java虚拟机之类。可以把这部分工作放到单独的后台进程中去执行,只需要在gradle.properties后面加上:

org.gradle.daemon=true;

4.使用项目变量来设置全局的版本

方法1:

创建一个自定义的config.gradle在根gradle下应用。应用方法:

apply from : "config,gradle"

方法2:

直接在根gradle里写:

def supportVersion = "25.2.1"

project.ext{
	applicationId = "com.**"
	buildToolsVersion = "23.0.2"
	compileSdkVersion = "23"

	libSupprotAppcompat = "com.android.support:appcompat-v7:${supportVersion}"
	...
}

然后去app的gradle下引用:如

compileSdkVersion rootProject.ext.compileSdkVersion 
buildToolsVersion rootProject.ext.buildToolsVersion 

compile rootProject.ext.libSupprotAppcompat
...

5.gradle 版本升级回退修改:

gradle plugin版本和gradle版本之间的对应关系:

Plugin versionRequired Gradle version
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.3 - 2.2.32.14.1+
2.3.0+3.3+
3.0.0+4.1+
3.1.0+4.4+
3.2.0+4.6+

1:修改项目build.gradle中的 classpath 'com.android.tools.build:gradle:3.2.0’(想升级的版本)

2:修改gradle-wrapper.properties中的对应的gradle版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值