Mam problemy z pobieraniem pliku manifestu do kompatybilności z wieloma nowszymi telefonami podczas przesyłania nowego pliku APK i nie rozumiem, dlaczego tak się stało. Testuję to na zupełnie nowym HTC Evo V, ale z jakiegokolwiek powodu to urządzenie nie pojawi się na liście kompatybilności.Optymalizowanie pliku manifestu systemu Android dla największej liczby obsługiwanych urządzeń
Kompiluję się przeciwko API 17 z minimalnym wsparciem API 10, więc powinien on obejmować znaczną większość telefonów.
Co próbowałem:
- Usunięto wszystkie uprawnienia; bez zmian
- Próbowałem sprawić, że WIFI nie jest wymagana; bez zmiany
- Usunięto
installLocation
, aby sprawdzić, czy to miało znaczenie; bez zmian - Nawet próbował dodać obsługę małego ekranu, aby sprawdzić, czy się pojawi; bez zmian
co czytałem:
- http://developer.android.com/google/play/filters.html
- http://developer.android.com/guide/practices/screens-distribution.html
- http://developer.android.com/guide/practices/compatibility.html
- http://developer.android.com/guide/topics/manifest/manifest-intro.html
Mój plik manifestu:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.somecompany.appname"
android:versionCode="10"
android:versionName="1.0"
android:installLocation="preferExternal">
<!-- For expansion pack downloads -->
<!-- Required to access Android Market Licensing -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<!-- Required to download files from Android Market -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required to keep CPU alive while downloading files (NOT to keep screen awake) -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Required to poll the state of the network connection and respond to changes -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Required to check whether Wi-Fi is enabled -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- Required to read and write the expansion files on shared storage -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17"/>
<supports-screens android:normalScreens="true"/>
<supports-screens android:largeScreens="true"/>
<supports-screens android:xlargeScreens="true"/>
<compatible-screens>
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
</compatible-screens>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:allowBackup="false">
<activity android:name="somecompany.appname.SplashScreen"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="somecompany.appname.SoundAndCallActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name="somecompany.appname.MainScreenActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.NoTitleBar"/>
<activity android:name="somecompany.appname.SettingsActivity" android:screenOrientation="portrait" android:theme="@style/Theme.Transparent"/>
</application>
</manifest>
Wydaje pomocny THX –
@Arash ja właśnie teraz przechodzi w świecie Androida, więc mam nadzieję, że przyczyni się to kilka innych osób, które są tak dobrze. – iwasrobbed
Dzięki za podpowiedź, to było naprawdę pomocne –