我也解决了......你应该做两件事来让它工作:
首先在名为 Cocos2dxActivity.java 的文件中搜索你的 cocos 游戏项目,然后用记事本打开它并向下滚动到文件底部,然后你应该会找到一个带有如下行的静态函数:
isEmulator = product.equals("sdk") || product.contains("_sdk") || product.contains("sdk_");
这需要更改为:
isEmulator = product.equals("sdk") || product.contains("_sdk") || product.contains("sdk_") || product.contains("vbox");
第二次再次搜索你的 cocos 游戏项目以查找另一个名为 Application.mk 的文件,并像往常一样使用记事本打开它,并在这些拖曳行下:
# Uncomment this line to compile to armeabi-v7a, your application will run faster but support less devices
#APP_ABI := armeabi-v7a
在它们下面添加另一行:
APP_ABI := armeabi x86
你应该考虑的另一件事是你刚刚添加的行应该和我写的完全一样,如果你试试这个:
APP_ABI := Armeabi x86 (Wrong ... it wont work just because of the capital A)
顺便说一句,我使用 Cocos 代码 IDE 1.2 将我的 apk 文件与框架 v3.7 和 android-ndk-r10c 和 SDK 打包为 adt-bundle-windows-x86_64-20140702
还有一件事......你必须在你的模拟器中使用 Gapps 安装 Genymotion-ARM-Translation 才能让它工作。
PS:如果您没有找到任何文件,那么您需要重新创建您的项目并将本机代码添加到签入的项目中。