私は約 4 か月間 Andengine に取り組んできましたが、GLES 1 は正常に動作していました。しかし、AndEngine GLES 2 をインストールすると、実行時に DDMS で Class not Found Exception が表示されます。Androidで同じAndroidMenifestを使用してプロジェクトを試しましたが、実行中です...しかし、BaseGameActivityでアクティビティを継承すると、Class not found Exceptionが表示されます。この問題は、GLES1 でも発生しています。
public class CentrifeudGameActivity extends BaseGameActivity {
private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
// ===========================================================
// Fields
// ===========================================================
private Camera mCamera;
private BitmapTextureAtlas mBitmapTextureAtlas;
private TextureRegion mFaceTextureRegion;
@Override
public Engine onLoadEngine() {
this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));
}
@Override
public void onLoadResources() {
this.mBitmapTextureAtlas = new BitmapTextureAtlas(32, 32, TextureOptions.BILINEAR_PREMULTIPLYALPHA);
BitmapTextureAtlasTextureRegionFactory.setAssetBasePath("gfx/");
this.mFaceTextureRegion = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapTextureAtlas, this, "face_box.png", 0, 0);
this.mEngine.getTextureManager().loadTexture(this.mBitmapTextureAtlas);
}
@Override
public Scene onLoadScene() {
this.mEngine.registerUpdateHandler(new FPSLogger());
final Scene scene = new Scene();
scene.setBackground(new ColorBackground(0.09804f, 0.6274f, 0.8784f));
/* Calculate the coordinates for the face, so its centered on the camera. */
final int centerX = (CAMERA_WIDTH - this.mFaceTextureRegion.getWidth()) / 2;
final int centerY = (CAMERA_HEIGHT - this.mFaceTextureRegion.getHeight()) / 2;
/* Create the face and add it to the scene. */
final Sprite face = new Sprite(centerX, centerY, this.mFaceTextureRegion);
scene.attachChild(face);
return scene;
}
@Override
public void onLoadComplete() {
// TODO Auto-generated method stub
}
}
メニフェストコードで
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.folio3.games"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".CentrifeudGameActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
発生している例外は以下の通り
05-08 10:00:42.598: E/AndroidRuntime(667): FATAL EXCEPTION: main
05-08 10:00:42.598: E/AndroidRuntime(667): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.folio3.games/com.folio3.games.CentrifeudGameActivity}: java.lang.ClassNotFoundException: com.folio3.games.CentrifeudGameActivity
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread.access$600(ActivityThread.java:123)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.os.Handler.dispatchMessage(Handler.java:99)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.os.Looper.loop(Looper.java:137)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread.main(ActivityThread.java:4424)
05-08 10:00:42.598: E/AndroidRuntime(667): at java.lang.reflect.Method.invokeNative(Native Method)
05-08 10:00:42.598: E/AndroidRuntime(667): at java.lang.reflect.Method.invoke(Method.java:511)
05-08 10:00:42.598: E/AndroidRuntime(667): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-08 10:00:42.598: E/AndroidRuntime(667): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-08 10:00:42.598: E/AndroidRuntime(667): at dalvik.system.NativeStart.main(Native Method)
05-08 10:00:42.598: E/AndroidRuntime(667): Caused by: java.lang.ClassNotFoundException: com.folio3.games.CentrifeudGameActivity
05-08 10:00:42.598: E/AndroidRuntime(667): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
05-08 10:00:42.598: E/AndroidRuntime(667): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-08 10:00:42.598: E/AndroidRuntime(667): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
05-08 10:00:42.598: E/AndroidRuntime(667): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
ここで何が問題なのか誰でも教えてください!スプライトの例をコピーしているだけですが、クラスが見つからないという例外が発生しているためです。