如何修复java.util.zip.ZipException:在进行android studio cocos编译时重复的条目?
在为proj.android-studio执行cocos编译时如何修复java.util.zip.ZipException:在进行android studio cocos编译时重复的条目?,java,gradle,build,cocos2d-x,cocos2d-x-3.0,Java,Gradle,Build,Cocos2d X,Cocos2d X 3.0,在为proj.android-studio执行cocos编译时 cocos compile -m debug -p android -NDK-MODE debug --app-abi armeabi --android-studio 我得到以下例外 任务“:BreakPots:transformClassesWithJarMergingForDebug”的执行失败 com.android.build.api.transform.TransformException:java.util.zi
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.zipeException:重复条目:android/support/v4/util/LongSparseArray.class
请看一下Android Studio中licocos2dx模块中的my build.gradle
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')
}
显示libs屏幕截图的项目结构:
我的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
我自己回答这个问题,因为没有人回应 我自己修的。解决办法很简单。我有两个build.gradle文件。每个模块对应一个 在“App”模块的build.gradle文件中,让android编译sdk版本,目标为23。但在“libcocos2dx”模块的build.gradle文件中,android编译sdk版本和目标为22。这就是所有这些戏剧性事件的原因 在build.gradle文件中,将版本设置为22,并且工作得很好 更新: 后来我将版本增加到23,并提出了另一个gradle构建问题“org.apache…”。我已经通过在“libcocos2dx”模块的build.gradle文件中添加下面的行来修复了它
android {
useLibrary 'org.apache.http.legacy'
}