简体   繁体   中英

Android App and Compatibility

What parts of the Android project makes devices incompatible?

My first project was released, and it's pretty simple. It only works on 6880 devices according do Google Play.

My girlfriend's phone is incompatible, although she always used this app when I installed direct through the .apk file.

The manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my.project" android:installLocation="auto" android:versionCode="1" android:versionName="1.0">
  <application android:label="AppName" android:icon="@drawable/icon" android:allowBackup="true" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:hardwareAccelerated="true">
    <activity android:name="my.project.AppName" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mnc|mcc|locale|fontScale|uiMode" android:label="Credito">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>
  <!-- Android 2.3.3 -->
  <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14" />
  <!-- OpenGL ES 2.0 -->
  <uses-feature android:glEsVersion="0x00020000" />
  <!-- USB support -->
  <uses-feature android:name="android.hardware.usb.host" />
  <!-- Disable screen compatibility modes -->
  <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

</manifest>

Device compatibility described on here . In general it includes 3 sections: * Device features; * Platform version * Screen configuration;

According to your manifest there are next possible problems:

  1. "android.hardware.usb.host" - app need a device that guaranteed to support the USB host APIs. According to the official documentation :

Because not all Android-powered devices are guaranteed to support the USB host APIs, include a "uses-feature" element that declares that your application uses the android.hardware.usb.host feature.

this basically means that the app might even work on the phone (by direct install for example) till the moment when such API are called.

  1. android:minSdkVersion="9" android:targetSdkVersion="14"

Does your girlfriend's phone have something earlier than Android 2.3.3 (like 2.2)? And again, this does not means that it won't work, it just means that it might fail on her phone if there is a call to any method that is not exists prior to the Android 2.3.

  1. uses-feature android:glEsVersion="0x00020000"

This should not be a problem since:

OpenGL ES 2.0 - This API specification is supported by Android 2.2 (API level 8) and higher.

  1. screen resolutions also should not be a problem since you have switched on all 4 possible major resolutions.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM