眼前多少难甘事,自古男儿当自强。这篇文章主要讲述Android studio2.3.3升级3.1.2坑相关的知识,希望能为你提供帮助。
【Android studio2.3.3升级3.1.2坑】原文:https://blog.csdn.net/qq_26361871/article/details/80255141
1.grade配置Error: Could not find com.android.tools.build:gradle:2.2.1.
解决方法与Maven仓库有点像:进入
D:softwareandroidandroid-studio-ide-145.3276617-windowsandroid-studiogradlem2repositorycomandroid oolsuildgradle
文章图片
将项目中的build.gradle文件中 dependencies { classpath ‘com.android.tools.build:gradle:2.2.1‘} 改为 dependencies { classpath ‘com.android.tools.build:gradle:3.1.2‘} 2.All flavors must now belong to a named flavor dimension. 在module下的build.gradle中添加一行代码即可解决: android{ ... flavorDimensions "versionCode" ...} 3.升级到Android Studio 3.1,重新构建项目时报错,主要错误为: The SourceSet ‘instrumentTest‘ is not recognized by the Android Gradle Plugin. Perhaps you misspelled something? instrumentTest已被废弃,新的Gradle插件已经不支持。instrumentTest需要修改为androidTest。 修改后,sourceSets相关内容类似: android { buildToolsVersion "27.0.3" compileSdkVersion 24 sourceSets { main { manifest.srcFile ‘AndroidManifest.xml‘ java.srcDirs = [‘src‘] aidl.srcDirs = [‘src‘] renderscript.srcDirs = [‘src‘] res.srcDirs = [‘res‘] assets.srcDirs = [‘assets‘] jniLibs.srcDirs = [‘libs‘] } androidTest.setRoot(‘tests‘) }} 4. AAPT2 编译报错 AAPT2 error 报错 Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 解决:在gradle.properties中关闭APPT2 编译
1 | android.enableAapt2=false |
文章图片
将所有的compile变为implementation 后,clean和rebuild都没有发现错误,唯独在run的时候出现了以下错误: 原因及解决办法
- 原因:按照android stadio 3.1的要求,需要把gradle版本升级为 4.4及以上,但是gradle 4.4及以上要求将依赖api的compile换成implementation。而implementation声明的依赖没办法传递到module以外,即该module 以外module没办法引用到implementation声明的api。
- 解决办法:将compile 替换为 api即可,也就是如果有外部引用,则换成:api,剩下的换成:implementation。
文章图片
Error:(633, 16) 错误: 找不到符号 符号: 方法 sqrt(float) 位置: 类 FloatMath 解决方案 原因是Android6.0不支持FloatMath.sin()了,主要有两个方法可以解决。 方法一: 用23一下的SDK版本进行编译。将gradle.build文件里(包括project的gradle.build和module的gradle.build)的compileSdkVersion设为23以下。 方法二: 将上面报错的地方,即 用Math类替换FloatMath类,Math.sin(); 方法三 : (float)Math.sqrt 替换 FloatMath.sqrt
推荐阅读
- EOS Dapp开发-基于Docker的开发环境搭建
- android 7.0拍照问题file:///storage/emulated/0/photo.jpeg exposed beyond app through ClipData.Item.getUri
- 序列的++=extendappend理解
- 鼠标灵敏度怎样调?鼠标灵敏度调节办法
- MacBook Air 2013评测视频图文版
- 无线路由器密码破解图文详细教程视频:简单破解无线路由密码
- 极路由hiwifi怎样设置?极路由器安装设置图文详细教程
- 打印机脱机怎样办?打印机脱机无法打印处理办法
- 双wan口路由器设置图文详细教程:双wan口路由器设置具体步骤