2

我从这里下载了一个示例 pf GLWallpaper 。我按照自述文件所述导入项目。但是,我得到了“找不到类”异常。

04-09 22:24:06.281: E/AndroidRuntime(31990): java.lang.RuntimeException: Unable to
instantiate service net.markguerra.android.glwallpaperexample.MyWallpaperService:
java.lang.ClassNotFoundException:
net.markguerra.android.glwallpaperexample.MyWallpaperService in loader
dalvik.system.PathClassLoader[/mnt/asec/net.markguerra.android.glwallpaperexample-1/pkg.apk]

我现在不知道它有什么问题。清单 xml 已经有“MyWallpaperService”。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="net.markguerra.android.glwallpaperexample"
  android:versionCode="1"
  android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
     <service android:label="@string/service_label" android:name=".MyWallpaperService"
        android:permission="android.permission.BIND_WALLPAPER">
        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />
        </intent-filter>
        <meta-data android:name="android.service.wallpaper"
            android:resource="@xml/myglwallpaper" />
    </service>
</application>
<uses-sdk android:minSdkVersion="7" />

我没有更改示例代码中的任何内容。这是“MyWallpaperService”类的一部分。

package net.markguerra.android.glwallpaperexample;

import net.rbgrn.android.glwallpaperservice.*;

// Original code provided by Robert Green
// http://www.rbgrn.net/content/354-glsurfaceview-adapted-3d-live-wallpapers
public class MyWallpaperService extends GLWallpaperService {
    public MyWallpaperService() {
    super();
}
4

2 回答 2

3

问题解决了。在 Eclipse ADT17 中,需要将 .jar 放在“libs”而不是“lib”文件夹中。

于 2012-04-10T03:15:04.540 回答
0

WallpaperService 应该是 MyWallpaperService。在清单中尝试这个:

<intent-filter>
        <action android:name="android.service.wallpaper.MyWallpaperService" />
    </intent-filter>
于 2012-04-09T15:13:02.303 回答