2012-03-04 73 views
1

当我尝试发布我的Android应用程序(对于Android 2.1)http://slideme.org我得到了一个错误,这说明Manifest必须有标签,但我有标签的每个地方我可以把它们放在哪里。Manifest必须有一个标签错误

所以,如果有人能指出我在哪里问题,请回应。

这是我的清单。

<manifest package="com.jandans.silencer" 
    android:versionCode="1" 
    android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserLabel="@string/nosaukums"> 
<uses-sdk android:minSdkVersion="7"/> 
<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER" /> 

<application android:label="Silent Mode" android:icon="@android:drawable/ic_lock_silent_mode" 
    > 

    <activity android:name=".Info" 
      android:label="Silent mode"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
    </activity> 

    <receiver android:name=".widgetprow" 
      android:label="Silent Mode" 
      android:icon="@android:drawable/ic_lock_silent_mode">        
      <intent-filter> 
       <action 
      android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
      </intent-filter> 
      <meta-data 
            android:name="android.appwidget.provider" 
        android:resource="@xml/hey" />   
    </receiver> 
    <service android:name=".widgetprow$ToggleService" android:label="Silent Mode"/> 
</application> 

+1

当你联系slideme.org技术支持时,他们告诉你什么? – CommonsWare 2012-03-04 13:07:06

+0

他们还没有回答。 – J1and1 2012-03-04 13:25:20

回答

1

似乎开始标记<application包含属性的android:图标与前缀资源引用“@android:”。这会破坏apk解析器,因此当您尝试上传应用程序时,出现“标签”错误的原因。

<application开始标记看起来是这样的:

<application android:label="Silent Mode" 
android:icon="@android:drawable/ic_lock_silent_mode"> 

应该从“替换参考前缀固定@android:绘制”到 “@drawable”(见下文)

<application android:label="Silent Mode" android:icon="@drawable/ic_lock_silent_mode"> 

希望这会有所帮助

0

可能是切线相关的,但总的来说,它在应用程序,活动,服务等中使用android:label的文字字符串时不悦。它是一个llowed,然而,但可能因为他们宁愿你在使用类似“@字符串/ KEY”为资源扔警告/ RES /价值/ SOMEFILE的.xml其中SOMEFILE与资源根的XML文件标签并且具有为KEY指定的字符串。通常SOMEFILE在这个实例中是strings.xml。

这样做的主要原因是对于localization,所以您可以通过简单地提供一个具有相同名称但位于/ res/values-fr目录中的文件来为法语用户提供不同的名称。

相关问题