Файл недействителен: ОШИБКА при получении атрибута 'android: name': атрибут не является строковым значением - PullRequest
0 голосов
/ 04 января 2011

Это сводит меня с ума.Я пытаюсь загрузить черновик apk в магазин приложений, я - разработчик для Windows, и это мое первое приложение для Android, поэтому у меня нет ориентира для работы.Я экспортирую подписанный apk и с консоли разработчика захожу в apk, выбираю его и пытаюсь загрузить.Я получаю сообщение: файл недействителен: ОШИБКА при получении атрибута 'android: name': атрибут не является строковым значением.Я загрузил этот APK в Интернет и могу успешно загрузить, установить и запустить приложение за пределами рынка.Я сам подписал apk и убедился, что все сделано правильно.Будем благодарны за любые предложения.

AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.My.PackageName"
      android:versionCode="1" android:versionName="1.0.0">  
    <application android:icon="@drawable/icon" android:label="@string/app_name">  
        <activity android:name=".Home" android:configChanges="orientation"
                android:label="@string/app_name" android:launchMode="standard" android:icon="@drawable/icon">  
              <intent-filter>  
                    <action android:name="android.intent.action.MAIN" />  
                    <category android:name="android.intent.category.LAUNCHER" />  
              </intent-filter>          
        </activity>  
        <activity android:name=".Preferences" android:label="@string/set_preferences">  </activity>  
        <activity android:name="com.admob.android.ads.AdMobActivity" 
              android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
              android:configChanges="orientation|keyboard|keyboardHidden"
        />                
        <meta-data android:value="myValue" android:name="ADMOB_PUBLISHER_ID" />  
        <meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" />          
    </application>  
    <uses-sdk android:minSdkVersion="4" />  
    <uses-permission android:name="android.permission.INTERNET" />  
</manifest>`

Ответы [ 3 ]

1 голос
/ 18 сентября 2013

Отсутствующий атрибут метки в объявлении Activity не будет причиной сбоя при отладке aapt!Вы можете оставить их в декларации Activity без проблем.

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

res
  values
    strings.xml <-- missing declaration here
  values-it
    strings.xml <-- of a string declared here and used in manifest as a label

Запустите команду aapt из папки / path / to / sdk / build-tools, чтобы найти дополнительную информацию об этой ошибке:

aapt debug badging /path/to/apk
0 голосов
/ 19 сентября 2011

У меня просто была такая же проблема.Нашел проблему - я пропустил ярлык из одного из объявлений о своей деятельности.В твоем случае похоже на 3-е занятие.

0 голосов
/ 04 января 2011

Похоже, вы забыли установить атрибут name или указали неверный атрибут в AndroidManifest.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...