Move <uses-sdk /> to a differnt XML
Basically Android Studio does want targetSdkVersion to be specified in
build.gradle rather than AndroidManifest.xml. To make both make build
and Android Studio build happy, this CL splits <uses-sdk /> from the
main AndroidManifest.xml to a different file and let them merged in
make build.
There should be no behavior change.
Bug: 110741422
Test: Manually verified that there is no difference in
AndroidManifest.xml in the APK.
Change-Id: Ib673bca5a31b2f95329c9310a127ec0701bd8fdc
diff --git a/java/Android.mk b/java/Android.mk
index a07c50d..875aad4 100644
--- a/java/Android.mk
+++ b/java/Android.mk
@@ -23,6 +23,10 @@
LOCAL_CERTIFICATE := shared
+LOCAL_FULL_LIBS_MANIFEST_FILES := \
+ $(LOCAL_PATH)/AndroidManifest.xml \
+ $(LOCAL_PATH)/AndroidManifest_SdkVersion.xml
+
LOCAL_JNI_SHARED_LIBRARIES := libjni_latinime
LOCAL_STATIC_JAVA_LIBRARIES := \
diff --git a/java/AndroidManifest.xml b/java/AndroidManifest.xml
index dedece5..e3931db 100644
--- a/java/AndroidManifest.xml
+++ b/java/AndroidManifest.xml
@@ -18,8 +18,6 @@
coreApp="true"
package="com.android.inputmethod.latin">
- <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
-
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
diff --git a/java/AndroidManifest_SdkVersion.xml b/java/AndroidManifest_SdkVersion.xml
new file mode 100644
index 0000000..3dfeede
--- /dev/null
+++ b/java/AndroidManifest_SdkVersion.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.inputmethod.latin">
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
+</manifest>
diff --git a/tests/Android.mk b/tests/Android.mk
index 7c0bb4f..23b0a93 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -19,6 +19,10 @@
LOCAL_MODULE_TAGS := tests
LOCAL_CERTIFICATE := shared
+LOCAL_FULL_LIBS_MANIFEST_FILES := \
+ $(LOCAL_PATH)/AndroidManifest.xml \
+ $(LOCAL_PATH)/AndroidManifest_SdkVersion.xml
+
# Do not compress dictionary files to mmap dict data runtime
LOCAL_AAPT_FLAGS += -0 .dict
# Do not compress test data file
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index c7a9e13..93464f2 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -17,8 +17,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.inputmethod.latin.tests">
- <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
-
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application android:label="@string/app_name"
diff --git a/tests/AndroidManifest_SdkVersion.xml b/tests/AndroidManifest_SdkVersion.xml
new file mode 100644
index 0000000..5d3268c
--- /dev/null
+++ b/tests/AndroidManifest_SdkVersion.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.inputmethod.latin.tests">
+ <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" />
+</manifest>