I have tested the application in Moto G, Moto X, Samsung S 5 and Nexus 7 and it was working fine. But when I tried to install the apk in S4 mini, Note Edge and Note 4, it is not working. My manifest file is as follows:
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<!-- GCM requires a Google account. -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Keeps the processor from sleeping when a message is received. -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Creates a custom permission so only this app can receive its messages. -->
<permission
android:name=".permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<permission
android:name=".permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
Please suggest me a solution.
The apk is in debug mode, in some devices the debug mode apk will not work and at the bigning only the app will crash, so build a signed apk then install the apk will work fine.
Related
I'm submitting my app today, with the same permissions of one week ago, but Play Store rejects it with message:
Error
Your app cannot be released because the following APKs use sensitive permissions that have not been declared: 2. If you wanted to do a gradual implementation, you will need to do a full implementation.
The permissions are these (from one year):
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
I don't understand what permission is, and why I have this message.
I have an issue where I can't install the APK.
I have built an APK in Android Studio and sent it to a user.
However, the user is unable to install the APK, it reaches the screen where it shows the list of permissions, but none of the permissions is displayed (empty screen with "Cancel" and "Next" options) and the user can't click on next as well.
However, the user was able to install a generated APK with none permission (comment out all the permissions), and this issue specific to "Sony X F5121" with the latest Android OS.
List of permissions used by my App.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<permission
android:name="lb.app.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="lb.app.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<!-- Google Maps Stuff -->
<permission
android:name="lb.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="lb.app.permission.MAPS_RECEIVE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
1- Why permission not showing up.
2- Why user unable to install
in which Android device you are running you app..?
Beginning in Android 6.0 (API level 23), users grant permissions to apps while the app is running, not when they install the app. This approach streamlines the app install process, since the user does not need to grant permissions when they install or update the app. It also gives the user more control over the app's functionality; for example, a user could choose to give a camera app access to the camera but not to the device location. The user can revoke the permissions at any time, by going to the app's Settings screen.
I had finished my android app. App build version is 4.1.2. Now, i uploaded my apk into google console, it displays more that 4000 supporting devices. I am not sure my app will work on all the 4000 devices or not. My app is developed only for mobile.Can any one guide me how to filter the supporting devices ? Do i need any configuration in manifest file ?
please, look at my manifest file:-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.demo"
android:versionCode="1"
android:versionName="1.0.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="20" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.INTERNET" />
<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_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application>
......
....
<activity
.....
...../>
<application/>
*No need of any changes,the permission which you have given in manifest on that it will calculate the supporting device so better you remove the permissions which are not required and recheck ....it may show the less...
NOTE :Example permissions like:Remove which are not required....
While publishing the apk there is an option for you to see in apk section the list of devices to be supported. You can view the devices supported and exclude them from the list. Pl. refer to the below stack overflow link it provides you all the option
How to restrict android app to specific device make?
I have a serious problem concerning the compatibility of my app with some devices.
At the moment these are my configurations and permissions:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<supports-screens android:anyDensity="true" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CAMERA" />
<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.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
This would in my opinion mean that my application is compatible with every smartphone (not tablet) with Android 4.0.x or higher. Is that correct?
Because I recognized that it is not compatible with Samsung Galaxy S II with 4.1.1 which I simulated with Genmyotion. Also our customer described this beviour on a real device. Does anyone of you know why this problem could occur?
I think I have found the problem by myself (see android market says no device compatible?)
I have included permission
<uses-permission android:name="android.permission.CAMERA"/>
which by default includes auto focus feature. So I have to add the following in my manifest to disable it:
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
Thanks to chrish
I had vital problem when I am working on my new Android App as when I testing it the traditional message " the project stopped ..." although when I was testing the app on emulator it worked well , I checked my code and I reached to problem place and it was on manifest on these lines of code :
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
but I didn't solve this issue .