我一直在用引擎创造一个动态壁纸,总的来说我对Android很新。 我一直在比较不同的例子(很难找到任何有用的东西),我想要做的就是创建一个启动的动态壁纸,但显示黑屏。
我得到的错误很常见,我假设
06-15 16:30:01.946: E/AndroidRuntime(32471): FATAL EXCEPTION: main
06-15 16:30:01.946: E/AndroidRuntime(32471): java.lang.RuntimeException: Unable to instantiate service com.example.adtime.LiveWallpaperService: java.lang.ClassNotFoundException: com.example.adtime.LiveWallpaperService in loader dalvik.system.PathClassLoader[/data/app/com.example.adtime-2.apk]
06-15 16:30:01.946: E/AndroidRuntime(32471): at android.app.ActivityThread.handleCreateService(ActivityThread.java:2943)
06-15 16:30:01.946: E/AndroidRuntime(32471): at android.app.ActivityThread.access$3300(ActivityThread.java:125)
06-15 16:30:01.946: E/AndroidRuntime(32471): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2087)
06-15 16:30:01.946: E/AndroidRuntime(32471): at android.os.Handler.dispatchMessage(Handler.java:99)
06-15 16:30:01.946: E/AndroidRuntime(32471): at android.os.Looper.loop(Looper.java:123)
此外,这是我的清单:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.adtime"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-feature
android:required="true"
android:name="android.software.live_wallpaper">
</uses-feature>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- Live Wallpaper Service -->
<service android:name="com.example.adtime.LiveWallpaperService"
android:enabled="true"
android:permission="android.permission.BIND_WALLPAPER"
android:icon="@drawable/ic_launcher"
android:description="@string/wallpaper_description">
<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>
基于我一直在阅读的问题似乎在某个地方的清单中,我只是不确定在哪里。我一直在寻找不同的例子,我觉得我做得对,但显然没有。 apk安装,但一打开动态壁纸,我就会得到错误。 (我正在尝试使用实际设备)
另外,我确实已经设置并链接了库,但是我没有带jar的libs文件夹,因为我认为这是旧方法。
您可以提供的任何信息都非常有用,谢谢。
答案 0 :(得分:0)
可能会发生此错误,因为您的应用仅包含服务。如此SO question中所述,您无法仅使用服务创建应用。
答案 1 :(得分:0)
WallpaperService只能在设备上测试,不要使用Android模拟器。您不需要android:required="true
。
您需要在Android清单中添加一项活动:
<activity android:label="@string/app_name"
android:name=".Settings"
android:exported="true"
android:theme="@android:style/Theme.Light.WallpaperSettings"
android:icon="@drawable/ic_launcher" />