Android studio导入项目后编译无法生成.so文件

生成项目后导入android studio,连接手机调试后直接闪退,log打印错误如下:

08-24 12:06:08.029 24249-24249/com.rainm.hellococos E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.rainm.hellococos, PID: 24249
java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_9-classes.dex”,
dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_8-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_7-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_6-classes.dex”,
dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_5-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_4-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_3-classes.dex”,
dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_2-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_1-classes.dex”, dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-slice_0-classes.dex”,
dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-com.android.vending.expansion.zipfile_9c317306dc992ac94a3516344e082ab5b680f01e-classes.dex”,
dex file “/data/data/com.rainm.hellococos/files/instant-run/dex/slice-android-async-http-1.4.8_ec2ed023bc6eeb0b15e31fdf6b0ed95fe6db1fba-classes.dex”],nativeLibraryDirectories=[/data/app/com.rainm.hellococos-1/lib/arm, /vendor/lib, /system/lib, /vendor/lib, /system/lib]]] couldn’t find “libMyGame.so”
at java.lang.Runtime.loadLibrary(Runtime.java:366)
at java.lang.System.loadLibrary(System.java:989)
at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:248)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:264)
at android.app.Activity.performCreate(Activity.java:6014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1116)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2392)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2506)
at android.app.ActivityThread.access$800(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1395)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5444)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:943)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:738)

总之关键错误好像就是couldn’t find "libMyGame.so"这句

我到项目目录中看了一下,确实没有生成任何.so文件,不知道这是为什么

从昨天搞到现在快崩溃了。。

刚刚接触cocos,请大家多指教

如果要使用 Android Studio 来调试项目,请先使用 Creator 的编译功能编译一次项目。Creator 的编译功能会编译 C++ 代码(生成 so),并且将资源文件拷贝到 assets 文件夹。

然后再使用 Android Studio 导入并调试项目。(Android Studio 只编译 java 代码,并不会编译 C++ 代码,也不会拷贝资源文件)。

Creator 编译项目的功能如下图:

在编译的时候出错,log文件打印如下:

编译模式:release
使用 Android Studio 工程:E:\cocos\NewProject\build\jsb-default\frameworks\runtime-src\proj.android-studio
未指定 Android 目标平台版本,自动查找一个可用版本…
正在执行:’“E:\Sdk\tools\android” update project -t android-21 -p E:\cocos\NewProject\build\jsb-default\frameworks\runtime-src\proj.android-studio\app’

Updated project.properties
Updated local.properties
No project name specified, using Activity name ‘AppActivity’.
If you wish to change it, edit the first line of build.xml.
Added file E:\cocos\NewProject\build\jsb-default\frameworks\runtime-src\proj.android-studio\app\build.xml
Added file E:\cocos\NewProject\build\jsb-default\frameworks\runtime-src\proj.android-studio\app\proguard-project.txt
正在执行 ndk-build…
NDK 编译模式:release
正在执行:’“E:\android-ndk\ndk-build” -C E:\cocos\NewProject\build\jsb-default\frameworks\runtime-src\proj.android-studio\app -j4 NDK_MODULE_PATH=E:\cocos\NewProject\build\jsb-default\frameworks\cocos2d-x;E:\cocos\NewProject\build\jsb-default\frameworks\cocos2d-x\cocos;E:\cocos\NewProject\build\jsb-default\frameworks\cocos2d-x\external NDK_TOOLCHAIN_VERSION=4.9’

make: Entering directory `E:/cocos/NewProject/build/jsb-default/frameworks/runtime-src/proj.android-studio/app’
[armeabi-v7a] "StaticLibrary ": “libcocos2d.a”
process_begin: CreateProcess(NULL, E:/android-ndk/build//…/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-gcc-ar crsD ./obj/local/armeabi-v7a/libcocos2d.a, …) failed.
make (e=2): 系统找不到指定的文件。

make: *** [obj/local/armeabi-v7a/libcocos2d.a] Error 2
make: *** Waiting for unfinished jobs…
make: Leaving directory `E:/cocos/NewProject/build/jsb-default/frameworks/runtime-src/proj.android-studio/app’
执行命令出错,返回值:2。

使用的ndk版本是r12b

http://blog.csdn.net/luuillu/article/details/50728354
在网上搜索了一下你遇到的问题,好像是 ndk 版本太低了。推荐使用 ndk r10e