nativescript-cli
nativescript-cli copied to clipboard
CLI 8.2.x does not respect the targetSdk from AndroidManifest.xml
Issue Description
After we upgraded to {N} 8.2.2 we found that during build, the CLI sets the targetSdk
to 31 instead of respecting the value in App_Resources/Android/src/main/AndroidManifest.xml
which was in our case set to 30.
The merged, final manifest in the APK has targetSdk
31
This is read from platforms/android/gradle.properties
, defined as NS_DEFAULT_COMPILE_SDK_VERSION=31
, applied in the platforms/android/app/build.gradle
file through
def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk : NS_DEFAULT_COMPILE_SDK_VERSION as int }
Workaround: specify targetSdk
in the config/android/resources/gradle.properties
, e.g.
targetSdk = 30
Reproduction
in App_Resources/Android/src/main/AndroidManifest.xml
set
<uses-sdk
android:minSdkVersion="26"
android:targetSdkVersion="30"/>
run ns build android
check platforms/android/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt
or check the generated APK and it's embedded AndroidManifest.
Relevant log output (if applicable)
from `platforms/android/app/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt`
7 <uses-sdk
7-->/me/dev/test/platforms/android/app/src/main/AndroidManifest.xml:13:5-15:44
8 android:minSdkVersion="26"
8-->/me/dev/test/platforms/android/app/src/main/AndroidManifest.xml:14:13-39
9 android:targetSdkVersion="31" />
9-->/me/dev/test/platforms/android/app/src/main/AndroidManifest.xml:15:13-42
Environment
No response
Please accept these terms
- [X] I have searched the existing issues as well as StackOverflow and this has not been posted before
- [X] This is a bug report
- [X] I agree to follow this project's Code of Conduct