Android Media/Photo/Files Permission when Installing the application - android

I just uploaded my SMS application on Google play store but the problem is that whenever user install the application the app needs access to Photo/Media/Files too. However i donot write this permission in my manifest. please tell me whats the issue
I write following permissions in my app:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/>
<uses-permission android:name="android.permission.RECEIVE_MMS"/>
But it still wants to access to media/photo/files
What is the issue?

However i donot write this permission in my manifest.
Yes, you do:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
What is the issue?
You are asking for a permission (WRITE_EXTERNAL_STORAGE) from the STORAGE permission group.

Related

Android permissions ask something I don't want

I'm making a React-Native app and in the AndroidManifest.xml file, I ask some things :
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" android:maxSdkVersion="29"/>
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
As you can see, I never ask my app to access to the contacts.
However, when I build my app, she ask me the permission to access to my contacts.
Have you an idea ? Thanks !
You can check which dependency has added the permission by looking at the
android/app/build/outputs/logs/manifest-merger-debug-report.txt log.

The Play Console asks me to remove the location permission in every version

I have a special application for kids on the Play Console. I'm trying to update with the new version. However, I keep getting the following error.
I'm even trying to submit a pre-approved version from the library for review, but it shows the same error without submitting for review.
If your target audience only includes children under 13, you should remove the request for location permission from your app. Please go to the app content section.
I searched for my application code and sub-libraries, but location information is not accessed in any way.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
This is the case with permissions perceived for apk in the app package explorer on the Play Console.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"
tools:node="remove" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
tools:node="remove"/>
add this to your manifest then try it will solve your problem.

App rejected (React native android app play store submission)

I need help regarding app store submission for my android app, when I try to submit they said like following always.
Your recent app submission was rejected for violating the Permissions policy. Before submitting your app for another review, read through the policy and make sure your app is in compliance. We've sent more details to admin#xxxxxx.com.
now I had used following permissions only
FYI,
In my previous submission i had SMSRead and SMS receive permission only
but i tried to submit app login credentials and also app video uploaded too..
but that case also same issue i had received..
they ask permissions reg following link
https://play.google.com/about/privacy-security-deception/permissions/
still they asking same find in above screen shot...
my code is following to remove all permissions
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission tools:node="remove" android:name="android.permission.READ_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.RECEIVE_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION"
/>
<uses-permission tools:node="remove" android:name="android.permission.SEND_SMS"
/>
<uses-permission tools:node="remove" android:name="android.permission.WRITE_SMS"
/>
<uses-permission tools:node="remove"
android:name="android.permission.RECEIVE_WAP_PUSH"
/>
<uses-permission tools:node="remove"
android:name="android.permission.RECEIVE_MMS"
/>
<uses-permission tools:node="remove"
android:name="android.permission.READ_CALL_LOG"
/>
<uses-permission tools:node="remove"
android:name="android.permission.WRITE_CALL_LOG"
/>
<uses-permission tools:node="remove"
android:name="android.permission.PROCESS_OUTGOING_CALLS"
/>
<uses-permission tools:node="remove" android:name="android.permission.WAKE_LOCK"
/>
<uses-permission tools:node="remove" android:name="android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission tools:node="remove" android:name="com.android.vending.CHECK_LICENSE"
/>

Removing duplicate permission from AndroidManifest.xml

The AndroidManifest.xml contains these (and some more) permissions:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
The WRITE_EXTERNAL_STORAGE is contained two times. So I remove one and reorder:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
The audio recorder (https://github.com/3llomi/RecordView) normally requests storage access permission and microphone access permission. But after the change it does not request the storage access anymore and therefore the record view does not work.
I uninstall the app from the device for each manifest change to reset permissions.
How is it possible that removing a duplicate line causes this?
The merged view of the AndroidManifest.xml revealed that another library also declares this permission with maxSdkVersion="18":
The app was running on API>18, I assume therefore it did not request the permission. Removing maxSdkVersion made the storage permission appear again and the recorder view worked:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:remove="android:maxSdkVersion" />
My guess is that because WRITE_EXTERNAL_STORAGE was contained two times in the AndroidManifest.xml, the manifest merging process added the maxSdkVersion only to one of them. The other WRITE_EXTERNAL_STORAGE had no maxSdkVersion hence the app was requesting the permission also on API>18.

My App is asking "Microphone: record audio" permission even thought i am not using it

below are permission that i am using
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
there is no microphone permission in my Manifest then why playstore is asking for "MicroPhone" permission while app installation
Although dmitriyzaitsev 's answer is right, I wanted to append it with a method for checking how you can find out which modules add which permissions. To do that, you need to go to the following file:
app/build/outputs/logs/manifest-merger-<app_flavor>-report.txt
There you can search for the permission you are interested in, e.g. RECORD_AUDIO. Your result should look something like this:
ADDED from [com.google.firebase:firebase-common:11.2.2] /Users/jakubkomorowski/.gradle/caches/transforms-1/files-1.1/firebase-common-11.2.2.aar/7f3b39613ed1e03ef066f866e7495b17/AndroidManifest.xml:6:79-143
uses-permission#android.permission.RECORD_AUDIO
You can find out more in the google developer documentation
It seems your app module depends on some other libraries that use this permission.
It's not necessary that microphone audio permission is declared in your AndroidManifest. It can be declared in 3rd-party library.

Categories

Resources