这让我疯了。我正在尝试将apk草稿上传到应用程序商店,我是一个Windows开发人员,这是我的第一个Android应用程序,所以我没有真正的工作框架。我导出签名的apk,并从开发人员控制台浏览到apk,选择它,并尝试上传。我收到的消息是: 该文件无效:ERROR获取'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>`
答案 0 :(得分:1)
活动声明中缺少标签属性不是aapt调试标记失败的原因!您可以将它们从活动声明中删除而不会出现问题。
导致这些失败的常见原因是一个字符串资源,在未翻译的主资源文件夹中丢失时,会在其中一个已翻译的资源中声明。
res
values
strings.xml <-- missing declaration here
values-it
strings.xml <-- of a string declared here and used in manifest as a label
从/ path /到/ sdk / build-tools文件夹运行aapt命令以查找有关此错误的更多信息:
aapt debug badging /path/to/apk
答案 1 :(得分:0)
您似乎忘记在AndroidManifest.xml
中设置名称属性或提供无效属性答案 2 :(得分:-1)
我遇到了同样的问题。发现问题 - 我从我的一个活动声明中错过了标签。在您的情况下,看起来像第三个活动。