Solve the mutual interdependency problem between common and framework:
Have framework include the common source files directly when building,
then build common as a static library separately (depending on
framework, like everything else).
Goes with a companion change to build/core/pathmap.mk.
diff --git a/Android.mk b/Android.mk
index bc8b145..0d377c2 100644
--- a/Android.mk
+++ b/Android.mk
@@ -175,7 +175,6 @@
LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_JAVA_LIBRARIES := core ext
-LOCAL_STATIC_JAVA_LIBRARIES := android-common
LOCAL_MODULE := framework
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
diff --git a/common/Android.mk b/common/Android.mk
index 8249a31..349bb86 100644
--- a/common/Android.mk
+++ b/common/Android.mk
@@ -14,11 +14,12 @@
LOCAL_PATH := $(call my-dir)
+# Note: the source code is in java/, not src/, because this code is also part of
+# the framework library, and build/core/pathmap.mk expects a java/ subdirectory.
+
include $(CLEAR_VARS)
LOCAL_MODULE := android-common
-LOCAL_NO_STANDARD_LIBRARIES := true
-LOCAL_JAVA_LIBRARIES := core ext
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, java)
include $(BUILD_STATIC_JAVA_LIBRARY)
# Include this library in the build server's output directory
diff --git a/common/src/com/android/common/Patterns.java b/common/java/com/android/common/Patterns.java
similarity index 100%
rename from common/src/com/android/common/Patterns.java
rename to common/java/com/android/common/Patterns.java