Loading apex/apex.go +1 −3 Original line number Diff line number Diff line Loading @@ -1217,7 +1217,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { if am, ok := child.(android.ApexModule); ok { // We cannot use a switch statement on `depTag` here as the checked // tags used below are private (e.g. `cc.sharedDepTag`). if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) { if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) || java.IsJniDepTag(depTag) { if cc, ok := child.(*cc.Module); ok { if android.InList(cc.Name(), providedNativeSharedLibs) { // If we're using a shared library which is provided from other APEX, Loading Loading @@ -1254,8 +1254,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { filesInfo = append(filesInfo, apexFile{fileToCopy, moduleName, dirInApex, nativeTest, cc, nil}) return true } } else if java.IsJniDepTag(depTag) { // Do nothing for JNI dep. JNI libraries are always embedded in APK-in-APEX. } else if am.CanHaveApexVariants() && am.IsInstallableToApex() { ctx.ModuleErrorf("unexpected tag %q for indirect dependency %q", depTag, depName) } Loading apex/apex_test.go +1 −11 Original line number Diff line number Diff line Loading @@ -2538,17 +2538,7 @@ func TestApexWithApps(t *testing.T) { ensureContains(t, copyCmds, "image.apex/app/AppFoo/AppFoo.apk") 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") libjniOutput := ctx.ModuleForTests("libjni", "android_arm64_armv8-a_core_shared_myapex").Module().(*cc.Module).OutputFile() ensureListContains(t, appZipRule.Implicits.Strings(), libjniOutput.String()) // ... uncompressed if args := appZipRule.Args["jarArgs"]; !strings.Contains(args, "-L 0") { t.Errorf("jni lib is not uncompressed for AppFoo") } // ... and not directly inside the APEX ensureNotContains(t, copyCmds, "image.apex/lib64/libjni.so") ensureContains(t, copyCmds, "image.apex/lib64/libjni.so") } func TestApexWithAppImports(t *testing.T) { Loading java/androidmk.go +0 −5 Original line number Diff line number Diff line Loading @@ -262,11 +262,6 @@ func (binary *Binary) AndroidMkEntries() android.AndroidMkEntries { } func (app *AndroidApp) AndroidMkEntries() android.AndroidMkEntries { if !app.IsForPlatform() { return android.AndroidMkEntries{ Disabled: true, } } return android.AndroidMkEntries{ Class: "APPS", OutputFile: android.OptionalPathForPath(app.outputFile), Loading java/app.go +4 −7 Original line number Diff line number Diff line Loading @@ -78,9 +78,8 @@ type appProperties struct { // Store native libraries uncompressed in the APK and set the android:extractNativeLibs="false" manifest // flag so that they are used from inside the APK at runtime. Defaults to true for android_test modules unless // sdk_version or min_sdk_version is set to a version that doesn't support it (<23), defaults to true for // android_app modules that are embedded to APEXes, defaults to false for other module types where the native // libraries are generally preinstalled outside the APK. // sdk_version or min_sdk_version is set to a version that doesn't support it (<23), defaults to false for other // module types where the native libraries are generally preinstalled outside the APK. Use_embedded_native_libs *bool // Store dex files uncompressed in the APK and set the android:useEmbeddedDex="true" manifest attribute so that Loading Loading @@ -218,8 +217,7 @@ func (a *AndroidApp) useEmbeddedNativeLibs(ctx android.ModuleContext) bool { ctx.PropertyErrorf("min_sdk_version", "invalid value %q: %s", a.minSdkVersion(), err) } return (minSdkVersion >= 23 && Bool(a.appProperties.Use_embedded_native_libs)) || !a.IsForPlatform() return minSdkVersion >= 23 && Bool(a.appProperties.Use_embedded_native_libs) } // Returns whether this module should have the dex file stored uncompressed in the APK. Loading @@ -243,7 +241,7 @@ func (a *AndroidApp) shouldUncompressDex(ctx android.ModuleContext) bool { func (a *AndroidApp) shouldEmbedJnis(ctx android.BaseModuleContext) bool { return ctx.Config().UnbundledBuild() || Bool(a.appProperties.Use_embedded_native_libs) || !a.IsForPlatform() || a.appProperties.AlwaysPackageNativeLibs a.appProperties.AlwaysPackageNativeLibs } func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) { Loading Loading @@ -587,7 +585,6 @@ func AndroidAppFactory() android.Module { android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon) android.InitDefaultableModule(module) android.InitOverridableModule(module, &module.appProperties.Overrides) android.InitApexModule(module) return module } Loading Loading
apex/apex.go +1 −3 Original line number Diff line number Diff line Loading @@ -1217,7 +1217,7 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { if am, ok := child.(android.ApexModule); ok { // We cannot use a switch statement on `depTag` here as the checked // tags used below are private (e.g. `cc.sharedDepTag`). if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) { if cc.IsSharedDepTag(depTag) || cc.IsRuntimeDepTag(depTag) || java.IsJniDepTag(depTag) { if cc, ok := child.(*cc.Module); ok { if android.InList(cc.Name(), providedNativeSharedLibs) { // If we're using a shared library which is provided from other APEX, Loading Loading @@ -1254,8 +1254,6 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { filesInfo = append(filesInfo, apexFile{fileToCopy, moduleName, dirInApex, nativeTest, cc, nil}) return true } } else if java.IsJniDepTag(depTag) { // Do nothing for JNI dep. JNI libraries are always embedded in APK-in-APEX. } else if am.CanHaveApexVariants() && am.IsInstallableToApex() { ctx.ModuleErrorf("unexpected tag %q for indirect dependency %q", depTag, depName) } Loading
apex/apex_test.go +1 −11 Original line number Diff line number Diff line Loading @@ -2538,17 +2538,7 @@ func TestApexWithApps(t *testing.T) { ensureContains(t, copyCmds, "image.apex/app/AppFoo/AppFoo.apk") 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") libjniOutput := ctx.ModuleForTests("libjni", "android_arm64_armv8-a_core_shared_myapex").Module().(*cc.Module).OutputFile() ensureListContains(t, appZipRule.Implicits.Strings(), libjniOutput.String()) // ... uncompressed if args := appZipRule.Args["jarArgs"]; !strings.Contains(args, "-L 0") { t.Errorf("jni lib is not uncompressed for AppFoo") } // ... and not directly inside the APEX ensureNotContains(t, copyCmds, "image.apex/lib64/libjni.so") ensureContains(t, copyCmds, "image.apex/lib64/libjni.so") } func TestApexWithAppImports(t *testing.T) { Loading
java/androidmk.go +0 −5 Original line number Diff line number Diff line Loading @@ -262,11 +262,6 @@ func (binary *Binary) AndroidMkEntries() android.AndroidMkEntries { } func (app *AndroidApp) AndroidMkEntries() android.AndroidMkEntries { if !app.IsForPlatform() { return android.AndroidMkEntries{ Disabled: true, } } return android.AndroidMkEntries{ Class: "APPS", OutputFile: android.OptionalPathForPath(app.outputFile), Loading
java/app.go +4 −7 Original line number Diff line number Diff line Loading @@ -78,9 +78,8 @@ type appProperties struct { // Store native libraries uncompressed in the APK and set the android:extractNativeLibs="false" manifest // flag so that they are used from inside the APK at runtime. Defaults to true for android_test modules unless // sdk_version or min_sdk_version is set to a version that doesn't support it (<23), defaults to true for // android_app modules that are embedded to APEXes, defaults to false for other module types where the native // libraries are generally preinstalled outside the APK. // sdk_version or min_sdk_version is set to a version that doesn't support it (<23), defaults to false for other // module types where the native libraries are generally preinstalled outside the APK. Use_embedded_native_libs *bool // Store dex files uncompressed in the APK and set the android:useEmbeddedDex="true" manifest attribute so that Loading Loading @@ -218,8 +217,7 @@ func (a *AndroidApp) useEmbeddedNativeLibs(ctx android.ModuleContext) bool { ctx.PropertyErrorf("min_sdk_version", "invalid value %q: %s", a.minSdkVersion(), err) } return (minSdkVersion >= 23 && Bool(a.appProperties.Use_embedded_native_libs)) || !a.IsForPlatform() return minSdkVersion >= 23 && Bool(a.appProperties.Use_embedded_native_libs) } // Returns whether this module should have the dex file stored uncompressed in the APK. Loading @@ -243,7 +241,7 @@ func (a *AndroidApp) shouldUncompressDex(ctx android.ModuleContext) bool { func (a *AndroidApp) shouldEmbedJnis(ctx android.BaseModuleContext) bool { return ctx.Config().UnbundledBuild() || Bool(a.appProperties.Use_embedded_native_libs) || !a.IsForPlatform() || a.appProperties.AlwaysPackageNativeLibs a.appProperties.AlwaysPackageNativeLibs } func (a *AndroidApp) aaptBuildActions(ctx android.ModuleContext) { Loading Loading @@ -587,7 +585,6 @@ func AndroidAppFactory() android.Module { android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon) android.InitDefaultableModule(module) android.InitOverridableModule(module, &module.appProperties.Overrides) android.InitApexModule(module) return module } Loading