Android studio 版本升级 导致项目报错 终极解决方案
程序员文章站
2022-08-15 18:32:23
这个Android studio调了一天,终于不报错了…不管你是升级,还是别的项目拷贝,首先检查Gradle,而且跟Android studio的版本有关。1. 版本,classpath改成新的安装好后,一个SDK目录,一个软件安卓目录2. 下载Gradle,配置自定义Gradle先随便新建一个安卓项目,重要的是:要看新建项目后他默认使用的Gradle版本是多少这里默认的是 6.1.1.all,下载版本高了也不行!然后去官网https://services.gradle.org/distr...
这个Android studio调了一天,终于不报错了…
不管你是升级,还是别的项目拷贝,首先检查Gradle,而且跟Android studio的版本有关。
1. 版本,classpath改成新的
studio安装好后,一个SDK目录,一个软件安卓目录
2. 下载Gradle,配置自定义Gradle
https://services.gradle.org/distributions/
下载最高版本6.6.all.zip,建议用FDM下载较快
下载后,在Android studio安装目录下新建文件夹gradle,打开设置,如下设置刚才的gradle目录,点ok
然后把下载的6.6.all.zip包丢到那个gradle目录,设置改成这样distributionUrl=file:///D:/Android_Studio/gradle/gradle-6.6-all.zip
然后sync now,他会在这个目录自动下载这四个文件夹,
它里面自动解压到 wrapper/dists 里面
gradle就配置好了!现在可以把C盘的C:\Users\xxx 下面的.gradle删掉了
我这下了三个sdk
3. build.gradle(module:app) 配置
apply plugin: 'com.android.application' //声明是安卓程序
apply plugin: 'org.greenrobot.greendao'
android {
//lint检查
lintOptions {
checkReleaseBuilds false //true--所有正式版构建执行规则生成崩溃的lint检查,如果有崩溃问题将停止构建
abortOnError false //true--错误发生后停止gradle构建
}
//aapt编译资源文件设置
aaptOptions.cruncherEnabled = false //关闭Android Studio的对PNG .9图合法性检查
compileSdkVersion 29 //编译sdk的版本 === 对应sdk目录下 D:\Android_SDK\platforms里面的版本
buildToolsVersion = '30.0.1' //构建工作的版本 === 对应sdk目录下 D:\Android_SDK\build-tools里面的版本
defaultConfig {
applicationId "com.xxxxxxx.xxx" //项目包名
minSdkVersion 25 //项目最低兼容版本
targetSdkVersion 29 //项目的目标版本 一般跟compileSdkVersion一样
versionCode 1 //版本号
versionName "1.0" //版本名
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" //测试用
}
buildTypes {
release {
//是否对项目代码进行混肴
minifyEnabled false
//指定混肴使用的规则文件:proguard-android.txt是通用规则,proguard-rules.pro 编写项目特有的规则
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
//指定jdk版本
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
}
//greenDao配置
greendao {
schemaVersion 1 //数据库版本
daoPackage 'com.xxxxxxx.xxx.greenDao' //生成的位置
generateTests false //设置为true以自动生成单元测试。
targetGenDirTests 'src.main.java' //应存储生成的单元测试的基本目录
}
//已经用上androidx了
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') //声明本地依赖,将libs下所有jar包添到项目中
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.2.0'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//数据库依赖
implementation 'org.greenrobot:greendao:3.3.0'
//注解控件butterknife
implementation 'com.jakewharton:butterknife:10.2.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
//lombok,Androidstudio要下载插件
implementation 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'
}
3. build.gradle(Project: xxx) 配置
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
//数据库GreenDao依赖,这个好像版本也要跟gradle版本兼容,不然报错
classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
//控件注解,这个好像版本也要跟gradle版本兼容,不然报错
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.1'
}
}
//全局的配置,项目本身需要的依赖库
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' } //配置私有maven库
}
}
// 运行gradle clean时,执行此处定义的task。
// 该任务继承自Delete,删除根目录中的build目录。
// 相当于执行Delete.delete(rootProject.buildDir)。
// gradle使用groovy语言,调用method时可以不用加()。
task clean(type: Delete) {
delete rootProject.buildDir
}
AndroidManifest.xml 看看里面的包名等等
settings.gradle 看看里面 include ‘:app’
local.properties 里面设置sdk的目录 sdk.dir=D\:\\Android_SDK
把这些配置都调对,项目基本不会报错了。其他的错误就是依赖问题!
本文地址:https://blog.csdn.net/qq_36153149/article/details/107948429
推荐阅读
-
Android Studio 升级到3.0后输入法中文状态下无法选词的终极解决方案
-
Android Studio 升级到3.0后输入法中文状态下无法选词的终极解决方案
-
Android Studio三方引用报错但是项目可以运行的解决方案
-
Android studio 版本升级 导致项目报错 终极解决方案
-
Android Studio项目/Flutter 案例中Gradle报错通用解决方案(包括Unable to tunnel through proxy问题)
-
Android studio 版本升级 导致项目报错 终极解决方案
-
Android Studio三方引用报错但是项目可以运行的解决方案
-
Android Studio项目/Flutter 案例中Gradle报错通用解决方案(包括Unable to tunnel through proxy问题)