1 Android Studio 版本
我这里使用的3.6的Android Studio ,虽然目前AS已经到了4.2版本,但我个人用着3.6的比较顺手,4.2版本在程序构建时总会出一些莫名其妙的问题,查了一些资料有时管用,有时无效,搞起来比较费时,而3.6版本用着一直没有什么问题,所以学习过程暂使用3.6版本。
2 Kotlin版本
相比于JAVA,使用Kotlin开发更简洁也更安全,也是官方最支持的语言,安卓开发方面有逐渐替代Java的趋势。我项目中使用的是1.3.71 版本,目前已有更高版本,但在某些项目的适配方面,1.3.71 个人感觉兼容性好一些。
3 第三方依赖
针对不同的项目,会依赖不同的第三方开源库,不过我普遍采用的一个第三方库是Anko库,它用于简化Android开发是的Kotlin代码,同时让App代码变得更加简洁易懂。
4 API等级
在通过AS创建新项目时,需要选择Minimum SDK,现在的Android手机普遍都已经升级到andriod11版本,我在创建项目是选择Minimum SDK 为API 26,也就是Android8.0。原因也是8.0以后的安卓系统基本不需要做过多的适配,学习起来更简洁明了。
5 Anko库的引入
首先,build.gradle(Project)文件中进行如下修改
buildscript {
ext.kotlin_version = '1.3.71'
ext.anko_version = "0.10.8"
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions: $kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
然后,build.gradle(Module)文件中进行如下修改
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "com.android.lesson1"
minSdkVersion 26
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation "org.jetbrains.anko:anko-commons:$anko_version"
}
最下面这句 implementation "org.jetbrains.anko:anko-commons:$anko_version"
即是在该App中引入了Anko库的支持,以后的文章会随着项目的进展,更多的使用到Anko库的内容
总结:
该篇文章主要概括了学习安卓开发前需要做的一些准备工作。各版本的适配和兼容性问题。很多时候我们编译不通过的原因就在于不同版本的依赖间存在冲突。多查资料,多尝试,问题总会解决。