下载:
https://developer.android.google.cn/studio/index.html
主题:
http://color-themes.com/?view=index
项目:
gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
Gradle跟Gradle插件classpath 的对应关系:
https://developer.android.com/studio/releases/gradle-plugin.html#updating-gradle
gradle个版本下载:
https://services.gradle.org/distributions/
project的build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
此处的版本与Android studio 相同,如下图:
module的build.gradle:
apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'
android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
applicationId "com.example.lenovo.myptrrefreshtest"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
//刷新
compile 'in.srain.cube:ultra-ptr:1.0.11'
//
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
compile 'com.android.support:appcompat-v7:25.3.1'
}
compileSdkVersion、minSdkVersion、targetSdkVersion、buildToolsVersion、appcompat-v7的关系
compileSdkVersion:
编译版本,真正决定代码是否能编译的关键,比如设置成23,就无法使用httpclient,低版本编译出来的apk可以在高版本上运行,因为向下兼容,高版本编译的apk运行到低版本,minSdkVersion的也没有问题,因为编译时就会考虑兼容性,低版本会有v4,v7这些兼容包。
compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用。
minSdkVersion:
最小支持版本,比如设置成15,就无法在低于15的版本运行
targetSdkVersion:
只是一个标示,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些,编译阶段没有实质性作用。
如果修改APP的API,就改这个就可以了。
buildToolsVersion:
编译工具的版本,一般设置为最新即可
appcompat-v7:
兼容包得版本一般要配置跟编译版本一致,比如编译版本compileSdkVersion配置为22,appcompat-v7兼容包也要配置为22(大版本号要一致!),否则会出错
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
用较低的 minSdkVersion 来覆盖最大的人群,
用最新的 SDK 设置 target 和 compile 来获得最好的外观和行为
minSdkVersion 和 targetSdkVersion 与 compileSdkVersion 的不同之处是它们会被包含进最终的 APK 文件中。
解释示例:
如果
compileSdkVersion 25、
minSdkVersion 15、
targetSdkVersion 22 的app,
那么APP采用的是API 22的样式,不支持在系统API在15以下的手机上安装。
buildToolsVersion
buildToolsVersion 必须是sdk中的最新的一个,
1、查看及下载卸载:
File
-->
setting
-->
Android SDK
-->
SDK Tools
-->
Android SDK Build Tools (如果选择要用最新的)
2、项目选择:选择最新的一个
File
-->
project structure
-->
app
-->
properties
-->
build tools version
buildToolsVersion 选择sdk中最新的一个,compileSdkVersion 也选择和buildToolsVersion 一样的版本。
appcompat-v7包:
compile 'com.android.support:appcompat-v7:25.3.1'
要与compileSdkVersion 对应。如: compileSdkVersion 25,appcompat-v7的版本开头必须是25
com.android.support:appcompat-v7版本:
https://developer.android.com/topic/libraries/support-library/revisions.html
Recent Support Library Revisions:
26.1.0 Release
26.0.2 Release
26.0.1 Release
26.0.0 Release
26.0.0 Beta 2
25.4.0
26.0.0 Beta 1
26.0.0 Alpha 1
25.3.1
25.3.0
25.2.0
25.1.1
25.1.0
25.0.1
25.0.0
24.2.1
24.2.0
24.1.1
24.1.0
24.0.0
23.4.0
23.3.0
23.2.1
23.2.0
23.1.1
23.1.0
23.0.1
23
android api版本:
https://developer.android.com/guide/topics/manifest/uses-sdk-element.html?hl=zh-cn#ApiLevels