Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9e10f94 authored by Sam Saccone's avatar Sam Saccone Committed by Gerrit Code Review
Browse files

Merge "Revert submission"

parents f3898e3b e3c22f7a
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -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,
@@ -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)
				}
+1 −11
Original line number Diff line number Diff line
@@ -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) {
+0 −5
Original line number Diff line number Diff line
@@ -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),
+4 −7
Original line number Diff line number Diff line
@@ -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
@@ -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.
@@ -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) {
@@ -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
}