Merge "Store uncompressed and aligned DEX files for java libs in APEXes."

am: 28e36b1455

Change-Id: Ib6938d0f980604695c46a5ff6dbc8a7ff41e7ab0
This commit is contained in:
Ulyana Trafimovich 2020-01-29 02:32:38 -08:00 committed by android-build-merger
commit 6a517467aa
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