动态壁纸Andengine示例错误

4

我下载了AndEngine实时壁纸示例,但是出现了问题。它显示以下错误:

08-18 04:38:52.606: E/AndroidRuntime(3063): FATAL EXCEPTION: main
08-18 04:38:52.606: E/AndroidRuntime(3063): java.lang.RuntimeException: Unable to instantiate service org.anddev.wallpaper.live.cigarette.LiveWallpaperService: java.lang.ClassNotFoundException: org.anddev.wallpaper.live.cigarette.LiveWallpaperService in loader dalvik.system.PathClassLoader[/data/app/org.anddev.wallpaper.live.cigarette-1.apk]
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:1950)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.app.ActivityThread.access$2500(ActivityThread.java:121)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:997)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.os.Handler.dispatchMessage(Handler.java:99)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.os.Looper.loop(Looper.java:130)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.app.ActivityThread.main(ActivityThread.java:3701)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at java.lang.reflect.Method.invokeNative(Native Method)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at java.lang.reflect.Method.invoke(Method.java:507)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at dalvik.system.NativeStart.main(Native Method)
08-18 04:38:52.606: E/AndroidRuntime(3063): Caused by: java.lang.ClassNotFoundException: org.anddev.wallpaper.live.cigarette.LiveWallpaperService in loader dalvik.system.PathClassLoader[/data/app/org.anddev.wallpaper.live.cigarette-1.apk]
08-18 04:38:52.606: E/AndroidRuntime(3063):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-18 04:38:52.606: E/AndroidRuntime(3063):     at android.app.ActivityThread.handleCreateService(ActivityThread.java:1947)
08-18 04:38:52.606: E/AndroidRuntime(3063):     ... 10 more

这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.anddev.wallpaper.live.cigarette"
      android:versionCode="4"
      android:versionName="1.0.3">

    <uses-sdk android:minSdkVersion="7" />

    <uses-feature android:name="android.software.live_wallpaper" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <service 
            android:name="LiveWallpaperService"
            android:enabled="true"
            android:icon="@drawable/icon"
            android:label="@string/service_name"
            android:permission="android.permission.BIND_WALLPAPER">
            <intent-filter android:priority="1" >
                <action android:name="android.service.wallpaper.WallpaperService" />
            </intent-filter>
            <meta-data 
                android:name="android.service.wallpaper" 
                android:resource="@xml/wallpaper" />
        </service>
    </application>

</manifest> 

我不知道这个错误是什么意思。希望有人能在这里帮助我运行它。谢谢。


你正在使用哪个版本的AndEngine库?1.0还是2.0? - Rodrigo Dias
2个回答

5
您的错误是 ClassNotFoundException,它与您的动态壁纸有关(org.anddev.wallpaper.live.cigarette)。因此,我猜测您在manifest中声明动态壁纸时存在问题(例如可能不在应用程序标记中等)
您可以在以下页面中了解有关在清单中声明服务的更多详细信息:
developer.android.com/guide/components/services.html
developer.android.com/reference/android/app/Service.html 编辑:
我看到了您的manifest文件。看起来您的项目没有Main/Launcher Activity。如果您的项目没有Main/Launcher Activity,则无法注册您的服务,因此当您尝试使用它们时,会出现ClassNotFoundException
同时,请确保服务的完全限定类名为android.service.wallpaper.WallpaperService

这是我的清单http://pastebin.com/Z1U65xjE。我认为这是正确的。请看一下..谢谢 - CodeAndWave
@Tifa 请将它添加到你的问题中。 - hasanghaforian

3
在我的情况下,我只需要检查andengine.jar和andenginelivewallpapersupport.jar是否在构建路径中/导出。 (我也使用完全限定的名称)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接