diff options
author | Dianne Hackborn <hackbod@google.com> | 2013-03-11 18:04:55 -0700 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2013-03-12 10:50:28 -0700 |
commit | a1fece009f2e93250b2d3bc8ee4a296d100da6dc (patch) | |
tree | 2a5f422262a24a6dea9b9695eb9af056b790a9f9 /core/base_rules.mk | |
parent | 099ad657da87ec2b040af786bd26de4099dc1d0f (diff) | |
download | build-a1fece009f2e93250b2d3bc8ee4a296d100da6dc.zip build-a1fece009f2e93250b2d3bc8ee4a296d100da6dc.tar.gz build-a1fece009f2e93250b2d3bc8ee4a296d100da6dc.tar.bz2 |
Add LOCAL_APK_LIBRARIES argument.
This allows you to build apks that link against other
apks using the framework's new shared library apk feature.
Also if you are using LOCAL_APK_LIBRARIES, then LOCAL_DEX_PREOPT
will not be allowed. This is because using preopt means the
apk is stripped of its dex file, so the pre-installed apk can't
be redexed if its associated library changes. (Even if the build
system didn't strip the dex, Dalvik still has issues because it
assumes a pre-odex file is always valid.)
Change-Id: I952c0d24f8975f75aff67f78b5faeec91144c3e7
Diffstat (limited to 'core/base_rules.mk')
-rw-r--r-- | core/base_rules.mk | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/core/base_rules.mk b/core/base_rules.mk index 494f75b..cffaa94 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -398,6 +398,20 @@ endif # !LOCAL_IS_HOST_MODULE full_java_libs += $(full_static_java_libs) $(LOCAL_CLASSPATH) full_java_lib_deps += $(full_static_java_libs) $(LOCAL_CLASSPATH) +# This is set by packages that are linking to other packages that export +# shared libraries, allowing them to make use of the code in the linked apk. +LOCAL_APK_LIBRARIES := $(strip $(LOCAL_APK_LIBRARIES)) +ifdef LOCAL_APK_LIBRARIES + link_apk_libraries := \ + $(foreach lib,$(LOCAL_APK_LIBRARIES), \ + $(call intermediates-dir-for, \ + APPS,$(lib),,COMMON)/classes.jar) + + # link against the jar with full original names (before proguard processing). + full_java_libs += $(link_apk_libraries) + full_java_lib_deps += $(link_apk_libraries) +endif + # This is set by packages that contain instrumentation, allowing them to # link against the package they are instrumenting. Currently only one such # package is allowed. |