android studio rc3.0 升级,编译问题解决办法
参考官网: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html
一、版本升级
- gradle升级到4.1
- android gradle plugin升级到3.0.0
- buildToolsVersion 升级到26.0.2
- compileSdkVersion升级到26
- 加入google()仓库
##gradle升级到4.1
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
buildscript {
repositories {
jcenter()
mavenLocal()
google() //##加入google()仓库
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'//android gradle plugin升级到3.0.0
}
}
allprojects {
repositories {
jcenter()
mavenLocal()
google()//##加入google()仓库
}
}
android { compileSdkVersion 26 //##compileSdkVersion升级到26
buildToolsVersion '26.0.2' //##buildToolsVersion 升级到26.0.2
}
二、build.gradle加入flavorDimension
- flavorDimension定义
android { flavorDimensions "tier", "minApi" //##flavorDimension定义,且需要都是用上
productFlavors { dev { minSdkVersion 14 dimension "minApi" //##flavorDimension使用 } prod { minSdkVersion 14 dimension "tier" } wandoujia { dimension "tier" } } }
三、support-v4包升级
- com.android.support-v4升级到26.1.2
- android.enableAapt2=false
compile 'com.android.support:support-v4:26.1.0'
##gradle-wrapper.properties
android.enableAapt2=false
四、包找不到
- 找不到类:android.util.FloatMath.sqrt()
##Math.sqrt()替换
FloatMath.sqrt(squaredNorm); => (float)Math.sqrt(squaredNorm)
- 找不到类:org.apach.util.encodingUtils
compile 'org.apache.httpcomponents:httpcore:4.4.4'
- 找不到类:android.support.v4.view.KeyEventCompat;
KeyEventCompat.hasNoModifiers(event) => event.hasNoModifiers() //event是KeyEvent对象
- 找不到类:org.apache.http.conn.util.InetAddressUtils;
1 String ip = getLocalIpAddress(); 2 if (!InetAddressUtils.isIPv4Address(ip)) { 3 return mac_s; 4 } 5 InetAddress ipAddress = InetAddress.getByName(ip); 6 if (ipAddress == null) { 7 return mac_s; 8 } 9 10 => 11 String ip = getLocalIpAddress(); 12 InetAddress ipAddress = InetAddress.getByName(ip); 13 if (ipAddress.getAddress().length != 4) { 14 return mac_s; 15 } 16 if (ipAddress == null) { 17 return mac_s; 18 }

浙公网安备 33010602011771号