android下的modeul下的build_gradle详解

来源:互联网 发布:玛格丽塔披萨 知乎 编辑:程序博客网 时间:2024/06/02 04:44

最近在导入别人的羡慕的时候,总是报各种编译SDK版本不兼容,buildTools版本过低,以及目标版本等问题:
这里写图片描述
其:
apply plugin: ‘com.android.application’:声明是Android程序
compilesdkVersion 24:指定编译SDK版本
buildToolsVersion ‘25.0.0’ : buildTools的版本
minSdkVersion:当前应用所支持的最小版本
targetSdkVersion:目标版本
versionCode:版本号
versionName:版本名称
minifyEnabled false:是否进行混淆
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ :混淆配置文件的位置
compile fileTree(dir: ‘libs’, include: [‘*.jar’]) :编译libs目录下的所有jar包
testCompile ‘junit:junit:4.12’://测试时才编译junit包
compile ‘com.android.support:appcompat-v7:23.1.1’:编译v7包
重点说明下:
compilesdkVersion:指的是代码中使用的android sdk版本,有时候需要降低compileSdkVersion版本,来支持旧版本SDK中的类,例如httpClient(6.0中已删除),但直接改这个值可能会报错,解决方法:
1、更改styles.xml 使用低版本style。例如改成parent=”android:Theme.Light.NoTitleBar”
2、如果还报错,将Activity的继承改为Activity而不是AppCompatActivity。
并且去掉依赖中高版本的support,例如 compile ‘com.android.support:appcompat-v7:23.2.1’
3、如果还报错,肯定是因为代码中某处使用的高版本SDK中的东西了,改了就好了

buildToolsVersion: 构建项目的版本,推荐使用最新的!兼容性强

minSdkVersion:当前应用所支持的最低版本,如果这个值高于手机系统版本的值,则手机不能安装此应用

targetSdkVersion:目标系统的版本,推荐使用最新的
如果设置高于compileSdkVersion ,系统会提示The targetSdkVersion (23) should not be higher than the compileSdkVersion (17)

且需要注意:1,compilesdkVersion的版本必须和使用 Support Library(大版本号要一致—compile所对应的!)
2,三者关系满足minSdkVersion <= targetSdkVersion <= compileSdkVersion,才能让项目跑起来

0 0