Gradle build(고버전에서 저버전까지)에서 발생한 오류 요약

2987 단어
연결된 항목을 장치로 바꿔서 실행했는데 458개의 error(s)가 한꺼번에 나왔는데...초보자인 저는 괴로웠습니다. 첫 번째 error부터 Error:warning: Ignoring InnerClasses attribute for ananonymous inner class가 인터넷에 검색을 했습니다. 대장부는 조언을 했습니다. 첫 번째 단계: Gradle 프로필을 수정하고 MultiDex를 사용하며 MultiDex 지원을 포함합니다.
defaultConfig {

    multiDexEnabled true
}

dependencies { compile 'com.Android.support:multidex:1.0.1' }

2단계: 응용 프로그램이 다중 DEX 파일을 지원하도록 합니다.MultiDex Application JavaDoc에서는 a, AndroidManifest에서 선택할 수 있는 세 가지 방법을 제공합니다.xml의 응용 프로그램에서android를 설명합니다.support.multidex.MultiDexApplication;
"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    

b. 만약에 자신의 응용 프로그램 종류가 있다면 멀티덱스 응용 프로그램을 계승하도록 하세요.c. 만약 응용 프로그램 클래스가 다른 클래스에서 계승되었다면, 수정하고 싶지 않으면, attachBaseContext () 방법을 다시 쓸 수 있습니다.
@Override   

protected void attachBaseContext(Context base) {  

    super.attachBaseContext(base); MultiDex.install(this);  

}

하지만 첫 번째 단계에서 오류를 보고했습니다. 이 지원 패키지를 도입할 수 없었습니다. 나중에 Androidplugin Gradle 버전이 1.1보다 낮기 때문에 해결 방법은 다음과 같은 의존 멀티덱스-instrumentation을 추가하는 것입니다.
dependencies {
    androidTestCompile('com.android.support:multidex-instrumentation:1.0.1') {
         exclude group: 'com.android.support', module: 'multidex'
    }
}

두 번째 단계는 세 가지 방법으로 모두 오류가 발생했기 때문에 성공하지 못했지만, 이 때 error는 Error:Executionfailedfortask': app:transformClassesWithJarMergingForDebug'로 줄어들었습니다. >com.android.build.api.transform.TransformException: java.util.zip.ZipException:duplicateentry:com/google/gson/JsonNull.class에 이 문제가 발생한 것은api의 버전이 너무 낮고 캐시 문제일 수도 있습니다. 제가 clean에서 프로젝트를 하나 했는데도 그렇습니다.응, File-Settings-Apprearance & Beheavior-System Settings-Android SDK SDK 버전을 업그레이드해 봐.아무 소용없어...아니면 다섯 개.그리고 Module Settings의 Version이 모두 일치하는지 검사했습니다.마지막으로 나는 색깔을 검사했다.xml과 스타일.xml의 인용 방법은 모두 틀리지 않습니다...한참을 생각하다.흔히 볼 수 있는jar가방 충돌이었군요.다음jar 패키지 충돌 검출 도구를 사용할 수 있습니다. 완전히 중복되지 않은 충돌을 검출했습니다.ctrl+N을 사용해서 jsonnull이 두 개의 충돌하는 종류를 발견했습니다. 그중 하나를 삭제하면 됩니다. 와우, 정말 무거운 짐을 벗은 것 같습니다.

좋은 웹페이지 즐겨찾기