2012-05-08 40 views
0

我一直在Andengine工作约4个月,GLES 1工作正常。但是当我安装了AndEngine GLES 2时,在运行时DDMS显示类未找到异常。我尝试了与Android上相同的AndroidMenifest的项目,它正在运行...但是当我继承我的活动与BaseGameActivity它显示类未找到异常。问题现在甚至与GLES1。Andengine类未发现异常

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 

} 
} 

与Menifest代码

<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) 

谁能告诉我这里有什么问题!因为我只是复制精灵的例子,但类没有发现异常正在制造麻烦。

+0

升级到ADT 17时通常会显示该错误。您是否升级了ADT? – bos

+0

我使用的是ADT版本:18.0.0.v201203301601-306762 –

+0

您发布的代码不包含该软件包。您发布的活动包是什么? –

回答

2

制作一个新项目,并将文件复制到其中。通常解决这些问题。

而且你不能使用BaseGameActivity。使用SimplebaseGameActivity。该onLoadEngine更名为onCreateEngine等等....

+0

我以前做过这个,我甚至改变了我的工作空间,但没有用... –

+0

我做了一个编辑,以最后发表。 – ernell

+0

是的,你是对的!但是现在我正在使用的是前一版Andengine的GLES1,即使现在没有运行... –

2

添加andengine为库,而不是导入项目,这解决了我的问题

2

的ADT升级后有同样的错误。将“lib”文件夹重命名为“libs”修复了它。

+0

+1!工作。 – skygeek