Reputation: 1912
My app in Google Play is not visible to some of the devices regardless their Android Version. Is there any way to understand why specifically my application is not compatible with the Brand X device via Android Studio or Google Android Developer Console?
E.g;
Huawei P9 Android 6.0 is OK
Huawei P9 Lite Android 6.0 FAILS
I checked the previously entered questions/answers and understood that the reason could be one of the followings;
What I am really out after is to understand the reason why it is not incompatible with a specific device. I will try these suggestions and share the result, though.
My manifest file is as follows;
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="10000" android:versionName="1.0.2" package="com.apps.appname" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
**<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />**
<uses-feature android:name="android.hardware.usb.host" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>
Upvotes: 1
Views: 2582
Reputation: 71
This might be late but hope it helps someone out.
On the Google Play Console,
step 1 to 4 in pics step 5 and 6 in pics info of interest
Upvotes: 0
Reputation: 1948
Is there any way to understand why specifically my application is not compatible with the Brand X device via Android Studio or Google Android Developer Console?
Yes ,Cloud Test Lab ,is a way you can test your application compatibility.
Get free automated testing of your app on physical devices covering nearly every brand, model, and version of the devices your users might have. The lab helps you quickly find compatibility issues that you might miss using only your available test devices.
Use Cloud Test Lab from Android Studio:
Add the following to the studio.vmoptions file:
-Denable.google.cloud.testing.plugin=true
Now, you should be able to see the additional options for Cloud Test Lab in Android Studio's Run/Debug configurations dialog.
Under "Cloud device matrix", you can provide a different "Matrix configuration" by clicking on the following icon: and creating a different configuration.
Click "Apply" and close the window.
Now you can run the test by clicking the Run configuration icon in Android Studio.
Use Cloud Test Lab from the command-line
First, install gCloud SDk Add Alpha components to enable access to Cloud Test Lab from the Alpha repository
$ gcloud components update alpha
Now configure the project for the codelab. If you're using your own project, substitute with the correct project id:
$ gcloud config set project cloud-test-lab-babbq-2015
Make sure your authentication credentials are current
$ gcloud auth login
To run the test on different devices, let's first look at a list of available devices by running this command:
$ gcloud alpha test android devices list
For Example:
a test on Nexus6 and Nexus7 virtual devices, running APIs 19 and 21 in English and French locales on portrait and landscape orientations. GCloud provided the URL to the test results page, where results appear as each test is completed.
$ gcloud alpha test android run \
--type instrumentation \
--app app/build/outputs/apk/app-debug-unaligned.apk \--test app/build/outputs/apk/app-debug-androidTest-unaligned.apk \
--device-ids Nexus6,Nexus7 \
--os-version-ids 19,21 \ --locales en,fr \
--orientations portrait,landscape
Guide For Using Google Cloud Test Lab
check below link for more details https://firebase.google.com/docs/test-lab/
Hope this helps!!! Happy Coding!!
Edit : To review aggregated test results for all test matrices for a given app in your Firebase project, click the name of the app, as shown in the example test matrix results page shown below.
Example test execution results page
Example test matrix list page
Example of a test matrix results page with only four test executions
Note: Detailed test results are available for 90 days after you run a test, and are stored in a Google Cloud Storage (GCS) bucket (but are also visible in the Firebase console). You can view detailed test results in the GCS bucket when you click View Source Files on the test execution results page. When detailed test results are no longer available, you can still see which tests passed and failed.
Note: Image sources are taken from official documentation.
Upvotes: 3
Reputation: 10871
Using <uses-feature android:name="android.hardware.usb.host" />
in the manifest will result in Google Play not allowing the app to be installed on the devices without USB-host feature.
If you still want the app to be available for such devices, you should add "android:required="false"
for this feature.
Be aware that you still won't be able to use USB-host features on devices, which don't have such features. Trying to use them will result in exceptions. You should check if the feature is available before using it.
Upvotes: 2