降低版本是为了躲避Android6.0以上的权限问题。
软件版本:Android Studio3.1.2
新建一个project。
此时build.gradle如下。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.example.lei.myapplication"
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
修改compileSdkVersion和targetSdkVersion为22以及support:appcompat由v7:26.1.0改为v7:22.2.1'之后,再删去AndroidManifest中的android:roundIcon="@mipmap/ic_launcher_round"、
ic_launcher_foreground(v24)以及mipmap-anydpi-v26之后,重新Sync with gradle file,工程文件就能正常运行。
之前我经历过重新build project,找不到AppCompatActivity的情况。具体原因在于compileSdkVersion和targetSdkVersion改成了21,后面我把compileSdkVersion和targetSdkVersion都改成了22就不会报错了。
本来想修改创建 module的compileSdkVersion,但是定位到C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidProject\root目录下后,查看build.gradle.ftl,并没有可以修改sdk版本的地方。应该是Android Studio软件升级后,文件发生了一些改变。
参考链接:
修改 Android Studio 创建 module 时默认的 compileSdkVersion
http://chaosleong.github.io/2016/11/23/Change-default-compile-sdk-version-of-Android-Studio/
Android Studio 和Gradle Plugin 3.0 迁移不完全指南
https://yuxingxin.com/2017/11/03/Migrate-Android-Studio-3-guide/