AndEngine 设置 android 错误

AndEngine setup with android Error

从晚上开始,我就在尝试使用 android studio 设置 andEngine,

  1. 我从 GITHub https://github.com/nicolasgramlich/AndEngine GLES- Anchor Center 下载了 andEngine..

  2. 我从 SDK 管理器(在 adroid studio 中)安装了 NDK

  3. 然后,我在 android 工作室(空白 activity)中创建了新项目,然后我转到项目结构并单击左侧的 + 并添加 "Import Eclipse ADT project" -> and Select 下载的andEngine(来自GitHub)并完成

  4. 然后我收到错误“NDK depcrecated”,通过在 gradle.properties 'android.useDeprecatedNdk = true'

  5. 中添加以下行来解决
  6. 然后再次尝试同步,然后出现以下错误,我现在不知道该怎么办..请帮我解决..

    信息:Gradle 任务 [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :andEngine:generateDebugSources, :andEngine:generateDebugAndroidTestSources] :app:preBuild 最新 :app:preDebugBuild 最新版本 :应用程序:检查调试清单 :andEngine:preBuild UP-TO-DATE :andEngine:preReleaseBuild UP-TO-DATE :andEngine:compileReleaseNdk C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\src\main\jni\src\GLES20Fix.c: 在函数 'Java_org_andengine_opengl_GLES20Fix_glVertexAttribPointer' 中: glVertexAttribPointer(索引,大小,类型,归一化,步幅,(void *)偏移量); ^ C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\src\main\jni\src\GLES20Fix.c: 在函数 'Java_org_andengine_opengl_GLES20Fix_glDrawElements' 中: glDrawElements(模式,计数,类型,(无效*)偏移量); ^ C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\build\intermediates\ndk\release\obj/local/arm64-v8a/objs/andengine_shared/C_\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\src\main\jni\src\GLES20Fix.o: 在函数Java_org_andengine_opengl_GLES20Fix_glVertexAttribPointer': C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\build\intermediates\ndk\release\obj/local/arm64-v8a/objs/andengine_shared/C_\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\src\main\jni\src\GLES20Fix.o: In functionJava_org_andengine_opengl_GLES20Fix_glDrawElements'中: C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\src\main\jni\src\GLES20Fix.c 警告:(9, 63) 警告:从不同大小的整数转换为指针 [-Wint-to-pointer-cast] 警告:(13, 36) 警告:从不同大小的整数转换为指针 [-Wint-to-pointer-cast] 错误:(9) 对 glVertexAttribPointer' Error:(13) undefined reference toglDrawElements 的未定义引用 Error:error: ld 返回了 1 个退出状态 make: *** [C:\Users\Amul\AndroidStudioProjects\MyApplication2\andEngine\build\intermediates\ndk\release\obj/local/arm64-v8a/libandengine_shared.so] 错误1 Error:Execution 任务“:andEngine:compileReleaseNdk”失败。

    com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Amul\AppData\Local\Android\sdk\ndk-bundle\ndk-build.cmd'' finished with non-zero exit value 2 Information:BUILD FAILED Information:Total time: 7.815 secs Information:4 errors Information:2 warnings Information:See complete output in console

可能缺少本机库(lib 目录中的 .so 文件)。

如果您使用的是 android studio,则必须修改 andEngine build.gradle。

将 sourceSets 块添加到您的 andEngine build.gradle 文件中:

sourceSets {
            main {
                jni.srcDirs = []
                jniLibs.srcDir 'libs'
            }
        }

添加 andEngine build.gradle 文件后变为:

apply plugin: 'com.android.library'

    android {
        compileSdkVersion 20
        buildToolsVersion "23.0.3"

        defaultConfig {
            minSdkVersion 17
            targetSdkVersion 23

            ndk {
                moduleName "andengine_shared"
            }
        }

        sourceSets {
            main {
                jni.srcDirs = []
                jniLibs.srcDir 'libs'
            }
        }

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }  
    }

希望对你有帮助,否则告诉我结果。