Merge "Store uncompressed and aligned DEX files for java libs in APEXes." am: 28e36b1455 am: 6a517467aa

Change-Id: Icf28801f92352049a9748313286b3939af9f2ea8
This commit is contained in:
Automerger Merge Worker
2020-01-29 10:44:07 +00:00
2 changed files with 6 additions and 1 deletions

View File

@@ -3014,7 +3014,7 @@ func TestApexWithApps(t *testing.T) {
ensureContains(t, copyCmds, "image.apex/priv-app/AppFooPriv/AppFooPriv.apk")
// JNI libraries are embedded inside APK
appZipRule := ctx.ModuleForTests("AppFoo", "android_common_myapex").Rule("zip")
appZipRule := ctx.ModuleForTests("AppFoo", "android_common_myapex").Description("zip jni lib")
libjniOutput := ctx.ModuleForTests("libjni", "android_arm64_armv8-a_shared_myapex").Module().(*cc.Module).OutputFile()
ensureListContains(t, appZipRule.Implicits.Strings(), libjniOutput.String())
// ... uncompressed

View File

@@ -1727,6 +1727,11 @@ type Library struct {
}
func shouldUncompressDex(ctx android.ModuleContext, dexpreopter *dexpreopter) bool {
// Store uncompressed (and aligned) any dex files from jars in APEXes.
if am, ok := ctx.Module().(android.ApexModule); ok && !am.IsForPlatform() {
return true
}
// Store uncompressed (and do not strip) dex files from boot class path jars.
if inList(ctx.ModuleName(), ctx.Config().BootJars()) {
return true