Android SDK从23生成错误升级到26生成错误

时间:2018-07-09 13:05:37

标签: android gradle android-gradle

使用SDK版本23时,我的应用程序运行良好。我尝试将其升级到SDK版本26,但出现构建错误。构建gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.0'
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/CHANGES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
    defaultConfig {
        applicationId "com.futuremobilitylabs.incentrip"
        minSdkVersion 19
        targetSdkVersion 26
        versionCode 82
        versionName "0.8.113"
        multiDexEnabled true
        testInstrumentationRunner "com.android.test.runner.MultiDexTestRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    dexOptions {
        javaMaxHeapSize "2048M"
    }
    configurations {
        all*.exclude module: 'mediarouter-v7'
        all*.exclude module: 'support-compat'
        compile.exclude group: "org.apache.httpcomponents", module: "httpclient"
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    //compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
    // http://jakewharton.github.io/butterknife/
    // https://github.com/daimajia/AndroidSwipeLayout
    //compile "com.daimajia.swipelayout:library:1.2.0@aar"
    compile 'ch.acra:acra:4.9.1'
    compile 'com.android.support:appcompat-v7:26.0.0'
    compile 'com.android.support:design:26.0.0'
    compile 'com.android.support:recyclerview-v7:26.0.0'
    compile 'com.android.support:support-v4:26.0.0'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.google.android.gms:play-services:10.2.0'
    compile 'com.google.android.gms:play-services-gcm:10.2.0'
    compile 'com.google.android.gms:play-services-ads:10.2.0'
    compile 'com.google.android.gms:play-services-auth:10.2.0'
    compile 'com.google.maps.android:android-maps-utils:0.3.+'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.jakewharton:butterknife:8.5.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.uber.sdk:rides-android:0.5.3'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'org.jsoup:jsoup:1.10.3'
    testCompile 'junit:junit:4.12'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
}




apply plugin: 'com.google.gms.google-services'

我得到的构建错误:

  

构建失败8s 664ms运行构建8s 531ms加载构建12ms配置   生成110ms计算任务图98ms运行任务8s 307ms   指定的Android SDK Build Tools版本(26.0.0)被忽略,因为它   低于Android Gradle的最低支持版本(26.0.2)   插件3.0.1。将使用Android SDK Build Tools 26.0.2。至   禁止显示此警告,请从您的计算机中删除“ buildToolsVersion '26 .0.0'”   build.gradle文件,因为现在每个版本的Android Gradle插件   具有构建工具的默认版本。资源   样式/TextAppearance.Compat.Notification.Info(又名   com.app.application:style / TextAppearance.Compat.Notification.Info)不   找到了。资源样式/TextAppearance.Compat.Notification(又名   com.app.application:style / TextAppearance.Compat.Notification)不是   找到了。资源样式/TextAppearance.Compat.Notification.Time(又名   com.app.application:style / TextAppearance.Compat.Notification.Time)不   找到了。资源样式/TextAppearance.Compat.Notification.Title(又名   com.app.application:style / TextAppearance.Compat.Notification.Title)   未找到。链接引用失败。
    java.util.concurrent.ExecutionException:   java.util.concurrent.ExecutionException:   com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志   详细信息java.util.concurrent.ExecutionException:   com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查日志   详细信息com.android.tools.aapt2.Aapt2Exception:AAPT2错误:检查   详细记录

我已经阅读了一些帖子,但无法解决此问题:Android SDK 26 build errorFailed to resolve: com.android.support:appcompat-v7:27.+ (Dependency Error)

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

问题在下一行。

all*.exclude module: 'support-compat'

将其删除,并使用以下代码排除support-v4库。

all*.exclude module: 'support-v4'  

all*.exclude group: 'com.android.support', module: 'support-v4'  

您还可以从以下特定库中排除support-v4:

compile ('com.jakewharton:butterknife:8.5.1'){
        exclude group: 'com.android.support', module:'support-v4'
    }