2016-06-05 7 views
0

При выполнении Кокосовые компилировать для proj.android-студииКак исправить java.util.zip.ZipException: дублировать запись во время компиляции студии Android?

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

Я получаю ниже исключение.

Выполнение не выполнено для задачи ': BreakPots: transformClassesWithJarMergingForDebug'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: дублировать запись: Android/поддержка/v4/Util/LongSparseArray.class

Пожалуйста, посмотрите на моем build.gradle в модуле licocos2dx в 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') 


} 

Структура проекта показывает ЛИЭС скриншот: enter image description here Мои Android.mk содержимое файла

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 

ответ

1

я отвечаю это сам, потому что никто не ответил.

Я сам его исправил. Решение так просто. У меня есть два файла build.gradle. Каждый для каждого модуля.

В файле build.gradle модуля «App», сделана версия sdk для компиляции android и 235. Но в файле build.gradle модуля «libcocos2dx» была сделана версия sdk для компиляции android и 22 цели. Это причина вся эта драма.

Как в файле build.gradle, так и в версии 22, и он работал как шарм.

Update:

я увеличил версию до 23 позже и придумали еще Gradle вопрос сборки с «org.apache .....». Я исправил это, добавив ниже строку в файле build.gradle модуля «libcocos2dx».

android { 
    useLibrary 'org.apache.http.legacy' 
} 
Смежные вопросы