приложению требуются функции, недоступные на вашем устройстве - PullRequest
3 голосов
/ 30 августа 2011

У меня есть приложение Android на Android Market, но некоторые пользователи жалуются на ошибку, отображаемую при запуске установки сразу после загрузки:

enter image description here

Один из них прислал мне видео с обнаруженной ошибкой, и я увидел, что эта ошибка вызвана не приложением, а, вероятно, процессом проверки прав / возможностей.

Насколько я знаю, эта ошибка просто возникает на устройствах Motorola Droid / Milestone, работающих под управлением Eclair, с Froyo не происходит. К сожалению, у меня нет доступа к любому устройству, подобному этому, чтобы запустить logcat и проверить, что происходит.

Вот мое разрешение / функции на AndroidManifest.xml:

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<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.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Я наконец узнал, что происходит, запустив устройство Droid и запустив logcat:

E / PackageManager (1280): Пакет com.mycompany.myapp требует недоступной функции android.hardware.telephony; неудачу!

Устройства Motorola Droid с Eclair не могут устанавливать приложения, которые объявляют

<uses-feature android:name="android.hardware.telephony" />

в их манифесте. Это очень странно, потому что Android Market должен скрывать это от этих устройств. Вероятно, это ошибка, вызванная изменениями, внесенными в Eclair компанией Motorola, поскольку этого не происходит ни с другими устройствами, работающими под управлением Eclair, ни с тем же Droid, на котором запущен Froyo.

1 голос
/ 30 августа 2011

В соответствии с документами :

Android Market пытается обнаружить подразумеваемые требования к функциям приложения путем изучения других элементов, объявленных в файле манифеста, в частности,elements.

Учитывая это, вы пытались удалить теги меток использования?Так как они подразумеваются тегами use-permissions, и вы не используете атрибут «android: required».

...