这个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:Usersxxx 下面的.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_SDKplatforms里面的版本 buildToolsVersion = '30.0.1' //构建工作的版本 === 对应sdk目录下 D:Android_SDKbuild-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
把这些配置都调对,项目基本不会报错了。其他的错误就是依赖问题!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/894010.html