We develop a mobile app with NativeScript 8.5 and encounter an issue when trying to publish on Google PlayStore. The app is rejected because it ask permissions MANAGE_EXTERNAL_STORAGE, which is forbidden now.
We don't ask for any external storage permissions (READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE or MANAGE_EXTERNAL_STORAGE) in the Android Manifest. We removed all NativeScript Pugin that automaticcally add these permissions in the build process (Camera, ImagePicker and Background HTTP).
After decoding the APK, we can found mentions for this permissions in code :
grep -r EXTERNAL app-release/*
Fichier binaire app-release/assets/metadata/treeStringsStream.dat correspondant
Fichier binaire app-release/lib/x86/libNativeScript.so correspondant
Fichier binaire app-release/lib/x86_64/libNativeScript.so correspondant
Fichier binaire app-release/lib/arm64-v8a/libNativeScript.so correspondant
Fichier binaire app-release/lib/armeabi-v7a/libNativeScript.so correspondant
app-release/smali/androidx/core/content/FileProvider.smali:.field private static final TAG_EXTERNAL:Ljava/lang/String; = "external-path"
app-release/smali/androidx/core/content/FileProvider.smali:.field private static final TAG_EXTERNAL_CACHE:Ljava/lang/String; = "external-cache-path"
app-release/smali/androidx/core/content/FileProvider.smali:.field private static final TAG_EXTERNAL_FILES:Ljava/lang/String; = "external-files-path"
app-release/smali/androidx/core/content/FileProvider.smali:.field private static final TAG_EXTERNAL_MEDIA:Ljava/lang/String; = "external-media-path"
app-release/smali/org/nativescript/widgets/image/Cache.smali: const-string v2, "android.permission.WRITE_EXTERNAL_STORAGE"
The question is : how to build a Nativescript release that conform Google Play policies for Extrenal Storage ?
Thank you for helping.
It seems that it was more a problem with the usage of the PlayStore Console that with the code... When submitting a new release, that release must be used in all open channel in Console.