uses-sdk标签崩溃动态壁纸

时间:2011-02-07 19:31:45

标签: android versioning android-manifest wallpaper

我做了一个小动态壁纸。我想将它上传到市场并获得我需要指定api级别的信息。但是当我设置

<uses-sdk android:minSdkVersion="7" />
在关闭标签后,在Manifest中,壁纸在装载时崩溃。我没有更改两个编译之间的任何其他内容,它没有标记运行良好。错误发生在运行壁纸的opengl线程深处某处,因此异常消息实际上没有用处。至少我不知道那里有什么可能崩溃。

W/dalvikvm( 3838): threadid=9: thread exiting with uncaught exception (group=0x40201560)
E/AndroidRuntime( 3838): FATAL EXCEPTION: GLThread 10
E/AndroidRuntime( 3838): java.lang.IllegalArgumentException: Must use a native order direct Buffer
E/AndroidRuntime( 3838):    at com.google.android.gles_jni.GLImpl.glVertexPointerBounds(Native Method)
E/AndroidRuntime( 3838):    at com.google.android.gles_jni.GLImpl.glVertexPointer(GLImpl.java:1121)
E/AndroidRuntime( 3838):    at com.mblaster.LaserShowLWP.MyRenderer.drawLaserRays(MyRenderer.java:406)
E/AndroidRuntime( 3838):    at com.mblaster.LaserShowLWP.MyRenderer.onDrawFrame(MyRenderer.java:109)
E/AndroidRuntime( 3838):    at net.rbgrn.android.glwallpaperservice.GLThread.guardedRun(GLWallpaperService.java:675)
E/AndroidRuntime( 3838):    at net.rbgrn.android.glwallpaperservice.GLThread.run(GLWallpaperService.java:540)
I/installd(  134): unlink /data/dalvik-cache/data@app@com.mblaster.LaserShowLWP-1.apk@classes.dex

如果您想阅读GLThread的代码,请点击此处:https://github.com/markfguerra/GLWallpaperService/blob/master/GLWallpaperService/src/net/rbgrn/android/glwallpaperservice/GLWallpaperService.java

我希望有人能帮助我。

mblaster

1 个答案:

答案 0 :(得分:2)

好的,没有人回答,我自己弄明白,这就是答案:

OpenGL似乎对不同sdk版本的缓冲区有不同的规范。奇怪的是,标签实际上影响了它,因为代码是针对api版本7编译的。

所以基本上我所有的opengl缓冲区,以前由:

定义
FloatBuffer.wrap(float[]);

现在必须定义为本机订单直接缓冲区并通过以下方式填写:

BufferName.put(float[]);