2017-09-20 31 views
1

我更新的SDK版本26后,我试图建立一个APK,但得到这个错误:Android SDK中26生成错误

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

陪着SDK版本25是不错,但遇到错误消息的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: 我发现根本原因但仍然需要一些建议。我看着依赖关系报告。支持库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: 我已经设置了Facebook SDK用法如下:

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

,但仍得到相同的错误

所以如何我能解决这个冲突吗?

+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

您需要坚持使用支持库25.3.1,因为facebook sdk版本4.26.0仍在使用它。你可以,但它仍然使用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ñ一下,这里摘录:

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

是的,但它会与Facebook SDK冲突,因为它仍然使用25.3.1? –

+0

您可以尝试将sdk更改为26.1.0,并在Facebook sdk中将支持库依赖项用于排除。 –