上传.apk到google play时出错:此文件无效:错误获取服务的'android name'属性:属性不是字符串值

时间:2012-06-10 02:35:04

标签: android upload android-manifest google-play

我正在将我的草稿动态壁纸.apk文件上传到谷歌播放但我收到此错误:

this file is invalid: error getting 'android name' attribute for service: attribute is not a string value

我已经在我的模拟器+真实设备中测试过,一切正常。

我在上传之前签署了apk文件。

一些在线资源告诉我,由于manifest.xml发生了这个问题,但我仍然无法找到问题..

这是我的manifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.wallpaper"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />
    <uses-feature android:name="android.software.live_wallpaper" />


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >



            <activity android:name="com.test.wallpaper.SplashActivity"
            android:label="@string/app_name" android:configChanges="keyboardHidden"
            android:windowSoftInputMode="adjustPan" android:launchMode="singleTop"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

      <service
            android:permission="android.permission.BIND_WALLPAPER"
            android:name    = "@string/app_name"
            android:label   = "@string/app_name"
            android:icon    = "@drawable/icon"
        >

            <intent-filter>
                <action android:name="android.service.wallpaper.WallpaperService" />
            </intent-filter>

            <meta-data android:name="android.service.wallpaper" android:resource="@xml/wallpaper"/>

        </service>

        <activity
            android:label       = "Settings"
            android:name        = "Settings"
            android:theme       = "@android:style/Theme.Black"
            android:exported    = "true">
        </activity>
         <activity
            android:name        = "GalleryPreference"
            android:label       = "GalleryPreference"
            android:theme       = "@android:style/Theme.Black"
            android:exported    = "true"
        />

        <activity
            android:name        = "GalleryActivity"
            android:label       = "GalleryActivity"
            android:exported    = "true"
        />

        <service android:name = "com.test.wallpaper.AdapterService" android:enabled="true" android:exported="true"/>
    </application>


</manifest>

任何想法的想法或建议都表示赞赏!

谢谢,
Binbon

2 个答案:

答案 0 :(得分:0)

清单中的第一项服务是将android:name属性定义为"@string/app_name"。根据Android docs,这必须是一个完全限定的类名,就像清单中的服务定义一样。我猜字符串“app_name”不是完全限定的类名。

答案 1 :(得分:0)

在我的情况下,它是app_name字符串中的“\ n”。那是错的。