4

그래서 build.gradle 파일에 multidexenabled를 추가하고 캐시를 무효화 한 다음 프로젝트를 다시 시작하고 프로젝트를 빌드하고 모든 gradle 캐시 폴더를 삭제하려고했습니다. 누구든지 내 grad 파일에 문제가있는 것을 볼 수 있습니까? 여기 android studio 3.0.1에서 dex를 최신 gradle로 병합 할 수 없습니다

내 정확한 오류입니다 :

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. 
> java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex 

앱 파일

apply plugin: 'com.android.application' 
apply plugin: 'com.google.protobuf' 

ext { 
    supportLibraryVersion = '27.0.1' 
    grpcVersion = '1.4.0' 
} 

repositories { 
    maven { url "https://plugins.gradle.org/m2/" } 
} 

android { 
    compileSdkVersion 27 
    defaultConfig { 
     applicationId "aviraj.firebaseapp" 
     minSdkVersion 21 
     targetSdkVersion 27 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     multiDexEnabled true 

     dexOptions { 

      jumboMode true 
      javaMaxHeapSize "4g" 

     } 
     javaCompileOptions { 
      annotationProcessorOptions { 
       includeCompileClasspath false 
      } 
     } 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 

    } 

    signingConfigs { 
     release { 
      storeFile file(project.properties.storeFile) 
      storePassword project.properties.storePassword 
      keyAlias project.properties.keyAlias 
      keyPassword project.properties.keyPassword 
     } 
    } 

    configurations.all { 
     resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.2' 
     resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion" 
    } 


} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    //noinspection GradleCompatible 
    implementation 'com.android.support:appcompat-v7:27.0.1' 
    implementation 'com.android.support:mediarouter-v7:27.0.1' 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2' 

    implementation 'com.google.cloud:google-cloud-speech:0.30.0-alpha' 
    implementation 'com.google.apis:google-api-services-speech:v1-rev21-1.23.0' 


    implementation 'com.google.firebase:firebase-core:11.4.2' 
    implementation 'com.google.firebase:firebase-auth:11.4.2' 
    testImplementation 'junit:junit:4.12' 
    androidTestImplementation 'com.android.support.test:runner:1.0.1' 
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' 
    implementation 'com.android.support:design:27.0.1' 
    implementation 'com.google.android.gms:play-services-auth:11.4.2' 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 


    //noinspection GradleCompatible 
    implementation "com.android.support:cardview-v7:$supportLibraryVersion" 
    implementation "com.android.support:recyclerview-v7:$supportLibraryVersion" 

    // gRPC 
    implementation "io.grpc:grpc-okhttp:$grpcVersion" 
    implementation('io.grpc:grpc-protobuf-lite:$grpcVersion') { exclude module: "protobuf-lite" } 
    implementation "io.grpc:grpc-stub:$grpcVersion" 
    implementation 'javax.annotation:javax.annotation-api:1.3.1' 
    implementation 'com.google.protobuf:protobuf-java:3.4.0' 

    implementation 'com.android.support:multidex:1.0.2' 
    implementation 'com.android.support:multidex-instrumentation:1.0.2' 

    // OAuth2 for Google API 
    implementation('com.google.auth:google-auth-library-oauth2-http:0.7.0') { 
     exclude module: 'httpclient' 
    } 

} 

protobuf { 
    protoc { 
     artifact = 'com.google.protobuf:protoc:3.3.0' 
    } 
    plugins { 
     javalite { 
      artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0" 
     } 
     grpc { 
      artifact = "io.grpc:protoc-gen-grpc-java:${grpcVersion}" 
     } 
    } 
    generateProtoTasks { 
     all().each { task -> 
      task.plugins { 
       javalite {} 
       grpc { 
        // Options added to --grpc_out 
        option 'lite' 
       } 
      } 
     } 
    } 
} 

task copySecretKey(type: Copy) { 
    def File secretKey = file "$System.env.GOOGLE_APPLICATION_CREDENTIALS" 
    from secretKey.getParent() 
    include secretKey.getName() 
    into 'src/main/res/raw' 
    rename secretKey.getName(), "credential.json" 
} 
preBuild.dependsOn(copySecretKey) 


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

내가 여기에 다른 많은 질문과 답변 살펴 보았다하지만 수없는 것

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 

    repositories { 
     google() 
     jcenter() 

    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:3.0.1' 
     classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3' 
     classpath 'com.google.gms:google-services:3.1.2' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     google() 
     jcenter() 

     maven { 
      url "https://maven.google.com" // Google's Maven repository 
     } 
    } 

} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

프로젝트 파일 문제를 바로 잡을 수있는 해결책을 찾으십시오 : (

,363,210

Logcat.txt

11-29 15:01:45.332 3192-3192/aviraj.firebaseapp E/libprocessgroup: failed to make and chown /acct/uid_10058: Read-only file system 
11-29 15:01:45.332 3192-3192/aviraj.firebaseapp W/Zygote: createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT? 
11-29 15:01:45.333 3192-3192/aviraj.firebaseapp I/art: Not late-enabling -Xcheck:jni (already on) 
11-29 15:01:46.509 3192-3192/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
11-29 15:01:46.512 3192-3192/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
11-29 15:01:46.690 3192-3207/aviraj.firebaseapp W/art: Suspending all threads took: 18.126ms 
11-29 15:01:46.695 3192-3192/aviraj.firebaseapp I/BiChannelGoogleApi: [FirebaseAuth: ] No Fallback module; NOT setting up for lazy initialization 
11-29 15:01:46.699 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 2654(220KB) AllocSpace objects, 0(0B) LOS objects, 22% free, 870KB/1117KB, paused 20.288ms total 38.896ms 
11-29 15:01:46.737 3192-3192/aviraj.firebaseapp D/FirebaseAuth: Notifying id token listeners about user (dPtIj9CudnMzI3SRp9NVzA2609P2). 
11-29 15:01:46.753 3192-3213/aviraj.firebaseapp W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found. 
11-29 15:01:46.765 3192-3192/aviraj.firebaseapp D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization. 
11-29 15:01:46.787 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions. 
11-29 15:01:46.788 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation 
11-29 15:01:47.120 3192-3192/aviraj.firebaseapp I/FirebaseInitProvider: FirebaseApp initialization successful 
11-29 15:01:47.121 3192-3192/aviraj.firebaseapp I/InstantRun: starting instant run server: is main process 
11-29 15:01:47.137 3192-3216/aviraj.firebaseapp I/FA: App measurement is starting up, version: 11717 
11-29 15:01:47.138 3192-3216/aviraj.firebaseapp I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE 
11-29 15:01:47.138 3192-3216/aviraj.firebaseapp I/FA: To enable faster debug mode event logging run: 
                 adb shell setprop debug.firebase.analytics.app aviraj.firebaseapp 
11-29 15:01:47.479 3192-3192/aviraj.firebaseapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 
11-29 15:01:47.814 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 1024(125KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 2MB/2MB, paused 6.067ms total 17.836ms 
11-29 15:01:47.851 3192-3207/aviraj.firebaseapp W/art: Suspending all threads took: 5.990ms 
11-29 15:01:47.856 3192-3207/aviraj.firebaseapp I/art: Background sticky concurrent mark sweep GC freed 2815(100KB) AllocSpace objects, 0(0B) LOS objects, 5% free, 2MB/2MB, paused 8.159ms total 18.179ms 
11-29 15:01:47.895 3192-3192/aviraj.firebaseapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead. 
11-29 15:01:47.901 3192-3192/aviraj.firebaseapp I/TextInputLayout: EditText added is not a TextInputEditText. Please switch to using that class instead. 
11-29 15:01:47.941 3192-3216/aviraj.firebaseapp I/FA: Tag Manager is not found and thus will not be used 
11-29 15:01:47.980 3192-3220/aviraj.firebaseapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true 
11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/gralloc_ranchu: Emulator without host-side GPU emulation detected. Loading gralloc.default.so from /vendor/lib/hw/gralloc.default.so... 
11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/gralloc_ranchu: gralloc.default.so not found in /vendor. Trying /system/lib/hw/gralloc.default.so... 
11-29 15:01:47.983 3192-3192/aviraj.firebaseapp D/Atlas: Validating map... 
11-29 15:01:47.987 3192-3192/aviraj.firebaseapp D/FirebaseApp: Notifying auth state listeners. 
11-29 15:01:47.988 3192-3192/aviraj.firebaseapp D/FirebaseApp: Notified 0 auth state listeners. 
11-29 15:01:48.044 3192-3220/aviraj.firebaseapp I/OpenGLRenderer: Initialized EGL, version 1.4 
11-29 15:01:48.047 3192-3220/aviraj.firebaseapp D/OpenGLRenderer: Enabling debug mode 0 
11-29 15:01:48.134 3192-3192/aviraj.firebaseapp W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView 
11-29 15:01:49.236 3192-3192/aviraj.firebaseapp I/Choreographer: Skipped 64 frames! The application may be doing too much work on its main thread. 
11-29 15:06:48.122 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Loading module via FirebaseOptions. 
11-29 15:06:48.122 3192-3213/aviraj.firebaseapp I/FirebaseAuth: [FirebaseAuth:] Preparing to create service connection to gms implementation 
11-29 15:23:26.747 3192-3192/aviraj.firebaseapp I/Choreographer: Skipped 36 frames! The application may be doing too much work on its main thread. 

proguard-rules.pro 여기

# Suppress warnings from gRPC dependencies 
-dontwarn com.google.common.** 
-dontwarn com.google.api.client.** 
-dontwarn com.google.protobuf.** 
-dontwarn io.grpc.** 
-dontwarn okio.** 
-dontwarn com.google.errorprone.annotations.** 
-dontwarn com.google.android.gms.** 
-keep class com.google.android.gms.** { *; } 
-keep class com.google.firebase.** 
-keep class io.grpc.internal.DnsNameResolveProvider 
-keep class io.grpc.okhttp.OkHttpChannelProvider 

내 Gradle을 의존성의 전체 목록은 다음과 같습니다

Gradle Dependencies - Pastebin

+0

구현 'com.android.support:multidex:1.0.2' 을 gradle에 추가하고 그것이 작동하는지 알려주세요. –

답변

0

한번에 추가 할 : implementation 'com.android.support:multidex:1.0.2' 귀하의 애플 리케이션 gradle. 이 기능이 작동하는지 알려주세요.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 나는 내 의존성에 이것을 추가하려고했지만 여전히 같은 오류를 주려고했다. ( –

+0

@ avi312singh는 로그 고양이를 추가 할 수있다. –

+0

안녕하세요, 내 logcat을 추가했습니다 :) –

0

이 아마 Migrate to Android Plugin for Gradle 3.0.0의 문서가 말한대로 (페이지의 끝에서) 플러그인을 protobuf 관련 :

다음 protobuf-gradle-plugin를 포함하는, 그래서

To use Protobufs, you must upgrade the Protobuf plugin to version 0.8.2 or higher.

build.gradle 프로젝트 (루트)에 플러그인을 변경

buildscript { 
    repositories { 
    mavenCentral() 
    } 
    dependencies { 
    classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3' 
    } 
} 
+0

안녕하세요, 귀하의 회신에 감사드립니다, 내 gradle 당신을 위해 프로젝트 파일을 만들었지 만 이미 파일 안에이 파일을 가지고 있습니다 : ( –

+0

'protobuf 'com.google.protobuf : protobuf-java : 3.4.0'''을'compile'로 변경하는 방법 com.google.protobuf : protobuf-java : 3.0.0 ''또는 라인에 주석을 달아보십시오. 아마도 샘플 프로젝트가 도움이 될 것입니다 : https://github.com/google/protobuf-gradle-plugin/blob/master/testProjectAndroid/build.gradle –

+0

Hmmmm은 여전히 오류가 발생하는 줄을 주석 처리하고 컴파일하고 심지어 주석 처리합니다. 지금 샘플 프로젝트를 살펴 보겠습니다 - 감사합니다! –

0

Dex Proguard와 같은 난독 화 도구가 클린 컴파일에 필수적인 클래스 파일을 무효화하기 때문에 오류 일 수 있습니다. GMS와 Firebase를 난독 화에서 제외하십시오. 도움이 될 수도 있습니다 :

-dontwarn com.google.android.gms.** 
-keep class com.google.android.gms.** { *; } 
-keep class com.firebase.** { *; } 

또한 레이아웃을 .XML 파일로 열고 오류없이 디자인을 빌드 할 수 있는지 확인하십시오.

+0

답장을 보내 주셔서 감사합니다. 내 안드로이드 스튜디오 및 내 OP에서 이것을 추가했지만 여전히 동일한 오류가 발생했습니다. (오류가 발생했습니다. 지금은 정말 실망 스럽습니다. –

+0

레이아웃을 .XML 파일로 열고 오류없이 디자인을 빌드 할 수 있는지 확인하십시오. –

+0

AS를 사용하면 변경된 모든 최근 파일을 표시하는 데 도움이 될 수 있습니다. EditText 또는 ListView에 레이아웃이나 구현 중 일부 문제가 있다고 의심됩니다. –

관련 문제