2017-09-20 1 views
1
내가 SDK 버전 26로 업데이트 한 후 내가 APK를 구축하려고하지만,이 오류가있어

: SDK 버전 (25)가 괜찮와안드로이드 SDK (26) 빌드 오류

Error:Execution failed for task ':app:transformClassesWithFirebasePerformancePluginForFacebookDebug'. 
> android/support/v7/app/ActionBarActivity 

스테이를하지만 build.gradle 말에 오류 메시지를 받았습니다 : (실패한)

all com.android.support libraries must use the exact same version 

종속성 보고서 :

Note: Some input files use or override a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
Note: Some input files use unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
:app:transformClassesWithFirebasePerformancePluginForFacebookDebug FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':app:transformClassesWithFirebasePerformancePluginForFacebookDebug'. 
> android/support/v7/app/ActionBarActivity 

업데이트 1 : 내가 찾은 근본 원인이지만 여전히, 몇 가지 제안이 필요합니다. 나는 의존성 보고서를 들여다 보았다. 나는 아래와 같은 페이스 북 SDK를 사용을 설정 한 :

compile('com.facebook.android:facebook-android-sdk:4.26.0') { 
    exclude group: 'com.android.support', module: 'appcompat-v7' 
} 

하지만 여전히

그래서 어떻게 같은 오류가 지원 라이브러리 26.1.0는

+--- com.onesignal:OneSignal:3.6.2 
| +--- com.google.android.gms:play-services-gcm:[10.2.1,11.3.0) -> 11.2.2 
| | +--- com.google.android.gms:play-services-base:11.2.2 (*) 
| | +--- com.google.android.gms:play-services-basement:11.2.2 (*) 
| | \--- com.google.android.gms:play-services-iid:11.2.2 
| |   +--- com.google.android.gms:play-services-base:11.2.2 (*) 
| |   \--- com.google.android.gms:play-services-basement:11.2.2 (*) 
| +--- com.google.android.gms:play-services-location:[10.2.1,11.3.0) -> 11.2.2 
| | +--- com.google.android.gms:play-services-base:11.2.2 (*) 
| | +--- com.google.android.gms:play-services-basement:11.2.2 (*) 
| | \--- com.google.android.gms:play-services-tasks:11.2.2 (*) 
| +--- com.android.support:support-v4:[26.0.0,26.2.0) -> 26.1.0 (*) 
| \--- com.android.support:customtabs:[26.0.0,26.2.0) -> 26.1.0 (*) 
\--- 

다른 라이브러리에서 업데이트 2 이 갈등을 해결할 수 있습니까?

+1

build.gradle을 추가하십시오. 종속 라이브러리 중 일부는 이전 지원 라이브러리에 링크되었습니다. – DeKaNszn

+0

@DeKaNszn 추가 –

+0

'./gradlew app : dependencies --configuration releaseCompileClasspath'의 출력을 추가 할 수 있습니까? – DeKaNszn

답변

0

결국, 나는하여 해결 강제적으로 버전을 지정합니다. @Eugen Pechanec과 @ ישו אוהב אותך 덕분에 영감을 얻었습니다.

def gmsVersion = '11.2.2' 
compile("com.google.android.gms:play-services-gcm:${gmsVersion}") { 
    force = true 
} 
compile("com.google.android.gms:play-services-location:${gmsVersion}") { 
    force = true 
} 

def androidSupportVersion = '25.3.1' 
compile("com.android.support:support-v4:${androidSupportVersion}") { 
    force = true 
} 
compile("com.android.support:customtabs:${androidSupportVersion}") { 
    force = true 
} 
+0

축하합니다! 이제 당신은이 대답을 계시로 표시 할 수 있습니다. –

1

facebook sdk 버전 4.26.0에서 계속 사용 중이므로 지원 라이브러리 25.3.1을 사용해야합니다. 당신은 여전히 ​​25.3.1를 사용하여 build.gradle 좀 걸릴 수 있습니다 :

// Facebook Dependencies 
compile 'com.android.support:support-v4:25.3.1' 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:cardview-v7:25.3.1' 
compile 'com.android.support:customtabs:25.3.1' 

가 onesignal 오류의 경우, 약 Troubleshooting Android N을 읽어 보시기 바랍니다, 여기에 발췌 :

OneSignal automatically adds the following dependencies;

com.google.android.gms - Version 11.2.+ 
com.android.support - Version 26.1.+ 

If you get mixed version warnings like above in your build.gradle please make sure to update your other dependencies to match these versions.

If you must keep using an older version of these decencies add the following 4 lines, replacing the versions with the ones you require.

compile 'com.google.android.gms:play-services-gcm:11.2.+' 
compile 'com.google.android.gms:play-services-location:11.2.+' 

compile 'com.android.support:support-v4:26.1.+' 
compile 'com.android.support:customtabs:26.1.+' 
+0

업데이트를 확인하십시오 –

+0

그래도 여전히 25.3.1을 사용하고 있기 때문에 Facebook SDK와 충돌이 발생합니까? –

+0

26.1.0으로 sdk를 변경하고 facebook sdk의 지원 라이브러리 의존성에 대해 exclude를 사용해 볼 수 있습니다. –