Фон
После стольких часов моего свободного времени я готов опубликовать свое первое приложение в игровом магазине, но, к сожалению, у меня возникают трудности с загрузкой подписанного приложения.
Я успешно экспортировал приложение с созданным мной хранилищем ключей (все через Eclipse и ADT), поэтому у меня есть подписанный APK для загрузки в магазин воспроизведения ( здесь).
Проблема
Я продолжаю получать это сообщение:
Ошибка загрузки. APK не может быть проанализирован с использованием значка "aap dump". Выход ошибки: не удалось выполнить идентификацию дампа aapt: W/ResourceType (14856): Неизвестный пакет при получении значения для номера ресурса 0x01080049 ERROR получает атрибут android: icon: атрибут не является строкой Значение
как таковой:
Приложение само по себе работает очень хорошо на реальных устройствах, а используемый ими образ является обычным PNG файлом, который используется android-assets веб-сайт.
Что я пробовал
Я искал здесь в StackOverflow и нашел много сообщений об этом ( здесь). Я прочитал много из них и пробовал следующее, но ничего не помогло:
-
поместите значок приложения в другую папку/с ( "drawable", "drawable-mdpi",... даже "drawable-xxxhdpi" ) с несколькими комбинациями (поместите/удалите из каждой папки).
-
установка метки, значка и темы как в теге "приложение", так и в теге активности запуска.
-
измените имя файла изображения и сам файл (замените его значками приложений по умолчанию).
-
очистить проект.
-
Проверка сообщений Lint.
-
обновление ADT (до 22.3.0.v201310242005-887826), Eclipse (до версии Kepler Service Release 1), инструменты SDK (до 22.3), инструменты для создания SDK (до 19.0.1). Все это почти последняя официальная версия.
-
проверка того, что не используется двойной файл jar (что не существует jar файла в нескольких библиотеках, особенно если он имеет разные версии).
-
попытался поместить strings.xml в "res/values-en" вместо "res/values"
-
попытался добавить атрибут "android: value" ко всем меткам метаданных в манифесте (предложенный Google). Это не сработало. На самом деле, во всех обучающих программах, которые я прочитал, я никогда не видел такого требования от AppWidget, поэтому я думаю, что это все равно не нужно.
-
попробовал команду aapt:
aapt dump badging
Это показало мне то же самое, что показывает игровой магазин (я заменил настоящее имя пакета и имя приложения с помощью XXX именно здесь):
application: label='XXX XXX' icon='res/drawable-mdpi/app_icon.png' launchable-activity: name='XXX.XXX.XXXActivity' label='XXX XXX' icon='res/drawable-mdpi/app_icon.png' W/ResourceType( 9132): No known package when getting value for resource number 0 x01080049 ERROR getting 'android:icon' attribute: attribute is not a string value
Это происходит, даже если файл существует внутри этой папки.
Вот манифест. Снова заменили реальные пути и имена действий и приложений на XXX. Я могу заверить вас, что пути верны, так как приложение может работать нормально.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="XXX.XXX"
android:installLocation="auto"
android:versionCode="2"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="19" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="com.android.launcher
.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android
.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
<!-- required for admob: -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- required for in-app billing . -->
<uses-permission android:name="com.android.vending.BILLING" />
<!-- needed for payload of in-app billing -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<application
android:name="XXX.XXX.XXX"
android:allowBackup="true"
android:description="@string/app_description"
android:hardwareAccelerated="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="XXX.XXXActivity"
android:clearTaskOnLaunch="true"
android:configChanges="keyboard|keyboardHidden|orientation|
screenLayout|uiMode|screenSize|
smallestScreenSize"
android:finishOnTaskLaunch="true"
android:icon="@drawable/app_icon"
android:label="@string/XXX"
android:launchMode="singleTask"
android:screenOrientation="fullSensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
... (other activities and services)
Вопрос
Что происходит?
Как мне преодолеть это?