2016-01-22 29 views
0

我試圖建立我的科爾多瓦應用程序,我得到這個錯誤:重複的DEX但複製內部消除的.jar

Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnimRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnimatorRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AnyRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/ArrayRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/AttrRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/BoolRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/ColorRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/DimenRes; 
    Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/annotation/DrawableRes; 

這是我grade androidDependecies

armv7Debug 
+--- LOCAL: gcm.jar 
+--- me.leolin:ShortcutBadger:1.1.2 
+--- com.android.support:support-v4:23.1.1 
| \--- LOCAL: internal_impl-23.1.1.jar 
+--- org.xwalk:xwalk_core_library:15.44.384.13 
+--- android:CordovaLib:unspecified:debug 
\--- android.phonegap-facebook-plugin:FacebookLib:unspecified:debug 
    +--- LOCAL: android-support-v4.jar 
    +--- LOCAL: bolts-android-1.1.2.jar 
    \--- android:CordovaLib:unspecified:debug 

這表明,Android的。 phonegap-facebook-plugin:FacebookLib需要已經調用的android-support-v4.jar,因此它會被複制。

我的問題是,我只有一個android-support-v4.jar在我的項目文件夾在FacebookLib \ libs下,這是我能找到的唯一一個。

在我的build.gradle我評論compile "com.android.support:support-v4:+",當我建立與Android工作室它的工作原理,但是當相反,我做我的ionic build android變化會被覆蓋

回答

3

開放的build.gradle(模塊安卓)Android Studio中,並把這個線在頭部:

apply plugin: 'com.android.application' 

configurations { 
    all*.exclude group: 'com.android.support', module: 'support-v4' 
    all*.exclude group: 'com.google.android.gms', module: 'play-services' 
} 

這條線幫助我,並防止包含幾個模塊的構建兩次。

+0

您節省了我的一天!非常感謝你 –

0

在你的build.gradle文件中加入這一行:

lintOptions { 
    abortOnError false 
} 

,如果使用科爾多瓦:

cordova plugin remove android.support.v4 

對於編譯一個Android工作室應用中沒有鬆動的任何東西,只是我們e gradlew已經存在於app文件夾中。您正在使用的方法沒有利用您在設置這些文件時已經完成的工作。我建議使用這樣的:

./gradlew build 

請記住,這僅僅是gradle這個工作和其他gradle這個命令,如:

./gradlew clean 
+0

我評論'編譯「com.android.support:support-v4:+」',然後我做了你的'gradlew build' ..它成功完成,但後來一旦我做了'離子建立android'這是再次覆蓋 –

+0

在您的build.gralde文件中,添加以下行:lintOptions {abortOnError false }這應該爲您解決這個問題! – childofthehorn

+0

它已經在那裏 –