2016-06-05 2 views
0

Während der Durchführung cocos für proj.android-Studio kompilierenWie zu beheben java.util.zip.ZipException: Eintrag zu duplizieren, während Android Studio Cocos kompilieren?

cocos compile -m debug -p android -NDK-MODE debug --app-abi armeabi --android-studio 

ich die unten Ausnahme bin immer.

Ausführung fehlgeschlagen für Task ': BreakPots: transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: Eintrag duplizieren: android/support/v4/util/LongSparseArray.class

Bitte lesen an meinem build.gradle in licocos2dx Modul in Android Studio.

apply plugin: 'com.android.library' 

android { 
    compileSdkVersion 22 
    buildToolsVersion '22.0.1' 
    defaultConfig { 
     versionCode 1 
     versionName "1.0" 
     minSdkVersion 15 
     targetSdkVersion 22 

    } 
    sourceSets.main { 
     aidl.srcDir "../java/src" 
     java.srcDir "../java/src" 
     manifest.srcFile "AndroidManifest.xml" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 

    compile fileTree(include: ['*.jar'], dir: '../java/libs') 
    compile project(':facebook_lib') 


} 

Projektstruktur Libs Screenshot zeigt: enter image description here Meine Android.mk Dateiinhalt

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d) 
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external) 
$(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos) 
$(call import-add-path, $(LOCAL_PATH)) 

LOCAL_MODULE := cocos2dcpp_shared 

LOCAL_MODULE_FILENAME := libcocos2dcpp 

LOCAL_SRC_FILES := hellocpp/main.cpp \ 
../../../Classes/AppDelegate.cpp \ 
../../../Classes/GameScene.cpp 

LOCAL_CPPFLAGS := -DSDKBOX_ENABLED 
LOCAL_LDLIBS := -landroid \ 
-llog 

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes 

LOCAL_WHOLE_STATIC_LIBRARIES := PluginSdkboxAds \ 
sdkbox \ 
PluginReview \ 
PluginAdMob \ 
PluginFacebook \ 
PluginOneSignal \ 
PluginSdkboxPlay 

# _COCOS_HEADER_ANDROID_BEGIN 
# _COCOS_HEADER_ANDROID_END 


LOCAL_STATIC_LIBRARIES := cocos2dx_static 

##LOCAL_WHOLE_STATIC_LIBRARIES += PluginAdMob 
##LOCAL_WHOLE_STATIC_LIBRARIES += sdkbox 
##LOCAL_WHOLE_STATIC_LIBRARIES += android_native_app_glue 
##LOCAL_LDLIBS += -landroid 
##LOCAL_LDLIBS += -llog 
##LOCAL_WHOLE_STATIC_LIBRARIES += PluginSdkboxPlay 
##LOCAL_WHOLE_STATIC_LIBRARIES += PluginOneSignal 
##LOCAL_WHOLE_STATIC_LIBRARIES += sdkbox 

# _COCOS_LIB_ANDROID_BEGIN 
# _COCOS_LIB_ANDROID_END 

include $(BUILD_SHARED_LIBRARY) 

$(call import-add-path,$(LOCAL_PATH)) 

$(call import-module,.) 

$(call import-module, ./sdkbox) 
$(call import-module, ./pluginsdkboxads) 
$(call import-module, ./pluginreview) 
$(call import-module, ./pluginadmob) 
$(call import-module, ./pluginfacebook) 
$(call import-module, ./pluginonesignal) 
$(call import-module, ./pluginsdkboxplay) 

# _COCOS_LIB_IMPORT_ANDROID_BEGIN 
# _COCOS_LIB_IMPORT_ANDROID_END 

Antwort

1

ich diese selbst bin zu beantworten, weil keiner geantwortet haben.

Ich reparierte es selbst. Die Lösung ist so einfach. Ich habe zwei build.gradle Dateien. Jeder für jedes Modul.

In build.digle Datei "App" -Modul, Android kompiliert SDK-Version und Ziel als 23. Aber in "libcocos2dx" -Modul build.gradle-Datei, machte Android kompilieren SDK-Version und Ziel als 22. Das ist der Grund für all dieses Drama.

In der build.gradle-Datei, Made-Version als 22 und es funktionierte wie Charme.

Update:

ich die Version 23 später gestiegen und kam mit einer anderen gradle Build Ausgabe mit "org.apache .....". Ich habe es behoben, indem ich die untere Zeile in der Datei build.gradle des "libcocos2dx" -Moduls hinzugefügt habe.

android { 
    useLibrary 'org.apache.http.legacy' 
} 
Verwandte Themen