trouble writing output: Too many methods: 65641; max is 65536. By package:

来源:互联网 发布:云计算技术发展趋势 编辑:程序博客网 时间:2024/05/06 19:24

https://github.com/CyanogenMod/android_frameworks_base/commit/854f6f736b90d33b59b5a85bcecf72a416c43b7d

framework: Split off some packages to a new file

frameworks.jar is now hitting the maximum number of member classes(65535), resulting in the build failing with... trouble writing output: Too many methods: 65641; max is 65536. By package:     26 android    145 android.accessibilityservice    700 android.accounts    436 android.animation      8 android.annotation   3787 android.appAs a workaround, split off some packages to a new jar.This will probably need reviewing, the wiggle room left by movingthese packages is only about 1100 members
./framework/base/Android.mk
@@ -28,10 +28,25 @@ framework_res_source_path := APPS/framework-res_intermediates/src  # the library # ============================================================+#+# These will be included in framework2 to avoid issues with the limit+# on the number of classes/dex+SECONDARY_FRAMEWORKS_SUBDIRS := \+        core/java/android/test \+        core/java/android/gesture \+        core/java/android/speech/srec \+        media/java/android/media/videoeditor \+        media/java/android/media/audiofx \+        media/mca/effect/java/android/media/effect \+        media/mca/effect/java/android/media/effect/effects+ include $(CLEAR_VARS)  # FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk LOCAL_SRC_FILES := $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS))+SECONDARY_SRC_FILES := $(call find-other-java-files,$(SECONDARY_FRAMEWORKS_SUBDIRS))++LOCAL_SRC_FILES := $(filter-out $(SECONDARY_SRC_FILES),$(LOCAL_SRC_FILES))  # EventLogTags files. LOCAL_SRC_FILES += \@@ -252,6 +267,7 @@ $(full_classes_compiled_jar): $(framework_res_R_stamp) $(LOCAL_INSTALLED_MODULE): | $(dir $(LOCAL_INSTALLED_MODULE))framework-res.apk  framework_built := $(call java-lib-deps,framework)+framework_built += $(call java-lib-deps,framework2)  # AIDL files to be preprocessed and included in the SDK, # relative to the root of the build tree.@@ -390,6 +406,7 @@ framework_docs_LOCAL_JAVA_LIBRARIES := \       core \       ext \       framework \+      framework2 \  framework_docs_LOCAL_MODULE_CLASS := JAVA_LIBRARIES framework_docs_LOCAL_DROIDDOC_HTML_DIR := docs/html@@ -664,7 +681,7 @@ include $(CLEAR_VARS)  LOCAL_SRC_FILES:=$(framework_docs_LOCAL_SRC_FILES) LOCAL_INTERMEDIATE_SOURCES:=$(framework_docs_LOCAL_INTERMEDIATE_SOURCES)-LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES) framework+LOCAL_JAVA_LIBRARIES:=$(framework_docs_LOCAL_JAVA_LIBRARIES) framework framework2 LOCAL_MODULE_CLASS:=$(framework_docs_LOCAL_MODULE_CLASS) LOCAL_DROIDDOC_SOURCE_PATH:=$(framework_docs_LOCAL_DROIDDOC_SOURCE_PATH) LOCAL_DROIDDOC_HTML_DIR:=$(framework_docs_LOCAL_DROIDDOC_HTML_DIR)@@ -717,6 +734,26 @@ LOCAL_DX_FLAGS := --core-library  include $(BUILD_JAVA_LIBRARY) +include $(CLEAR_VARS)++# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk+LOCAL_SRC_FILES := $(call find-other-java-files,$(SECONDARY_FRAMEWORKS_SUBDIRS))++LOCAL_NO_STANDARD_LIBRARIES := true+LOCAL_JAVA_LIBRARIES := bouncycastle core core-junit ext framework++LOCAL_MODULE_TAGS := optional+LOCAL_MODULE := framework2+LOCAL_MODULE_CLASS := JAVA_LIBRARIES++LOCAL_NO_EMMA_INSTRUMENT := true+LOCAL_NO_EMMA_COMPILE := true++#LOCAL_JARJAR_RULES := $(LOCAL_PATH)/jarjar-rules.txt++LOCAL_DX_FLAGS := --core-library++include $(BUILD_JAVA_LIBRARY)  # Include subdirectory makefiles # ============================================================@@ -726,3 +763,4 @@ include $(BUILD_JAVA_LIBRARY) ifeq (,$(ONE_SHOT_MAKEFILE)) include $(call first-makefiles-under,$(LOCAL_PATH)) endif+
test-runner/Android.mk:
@@ -20,7 +20,7 @@ include $(CLEAR_VARS)  
LOCAL_SRC_FILES := $(call all-java-files-under, src)  
-LOCAL_JAVA_LIBRARIES := core core-junit framework 
+LOCAL_JAVA_LIBRARIES := core core-junit framework framework2  
LOCAL_MODULE:= android.test.runner