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

Commit d45079a9 authored by Colin Cross's avatar Colin Cross
Browse files

Add minSdkVersion to default manifests

If the default manifest that doesn't set minSdkVersion is passed to
manifest merger along with a library manifest that does, it will fail
with:
.../DefaultManifest.xml Error:
	uses-sdk:minSdkVersion 1 cannot be smaller than version 14 declared in library ...

Translate LOCAL_MIN_SDK_VERSION or LOCAL_SDK_VERSION to minSdkVersion
in DefaultManifest.xml.

Bug: 79481102
Test: m checkbuild
Change-Id: I4d792d48612e6a1111e05a9e4a71bb4d87eae1ad
parent 0084dc8e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -2150,11 +2150,13 @@ endef
define _create-default-manifest-file
$(1):
	rm -f $1
	echo '<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="missing.manifest"></manifest>' > $1
	(echo '<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="missing.manifest">' && \
	 echo '    <uses-sdk android:minSdkVersion="$(2)" />' && \
	 echo '</manifest>' ) > $1
endef

define create-default-manifest-file
  $(eval $(call _create-default-manifest-file,$(1)))
  $(eval $(call _create-default-manifest-file,$(1),$(2)))
endef


+9 −1
Original line number Diff line number Diff line
@@ -49,7 +49,15 @@ ifeq ($(FORCE_AAPT2),true)
        # work around missing manifests by creating a default one
        $(call pretty-warning, Missing manifest file)
        LOCAL_FULL_MANIFEST_FILE := $(call local-intermediates-dir,COMMON)/DefaultManifest.xml
        $(call create-default-manifest-file,$(LOCAL_FULL_MANIFEST_FILE))
        ifdef LOCAL_MIN_SDK_VERSION
          my_manifest_min_sdk_version := $(LOCAL_MIN_SDK_VERSION)
        else ifneq (,$(filter-out current system_current test_current core_current, $(LOCAL_SDK_VERSION)))
          my_manifest_min_sdk_version := $(call get-numeric-sdk-version,$(LOCAL_SDK_VERSION))
        else
          my_manifest_min_sdk_version := $(DEFAULT_APP_TARGET_SDK)
        endif
        $(call create-default-manifest-file,$(LOCAL_FULL_MANIFEST_FILE),$(my_manifest_min_sdk_version))
        my_manifest_min_sdk_version :=
      endif
    endif
  endif