大神求解,android项目编译报错

看不清楚,请复制内容

C:\Users\Administrator\Desktop\mygame1>cocos compile -p android --ap android-18
编译模式:debug
使用 Eclipse 工程:C:\Users\Administrator\Desktop\mygame1\proj.android
正在执行:’“D:\adt-bundle-windows-x86-20130917\sdk\tools\android” update project -t android-18 -p C:\Users\Administrator\Desktop\mygame1\proj.android’

Updated project.properties
Updated local.properties
Updated file C:\Users\Administrator\Desktop\mygame1\proj.android\proguard-project.txt
It seems that there are sub-projects. If you want to update them
please use the --subprojects parameter.
正在执行 ndk-build…
NDK 编译模式:debug
正在执行:’“D:\android-ndk-r14b\ndk-build” -C C:\Users\Administrator\Desktop\mygame1\proj.android -j4 NDK_MODULE_PATH=C:\Users\Administrator\Desktop\mygame1\cocos2d;C:\Users\Administrator\Desktop\mygame1\cocos2d\cocos;C:\Users\Administrator\Desktop\mygame1\cocos2d\external NDK_TOOLCHAIN_VERSION=4.9 NDK_DEBUG=1’

Android NDK: WARNING: APP_PLATFORM android-18 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml
make: Entering directory C:/Users/Administrator/Desktop/mygame1/proj.android' [armeabi] Compile++ thumb: MyGame_shared <= main.cpp [armeabi] Compile++ thumb: MyGame_shared <= AppDelegate.cpp [armeabi] Compile++ thumb: MyGame_shared <= HelloWorldScene.cpp make: *** No rule to make target C:/Users/Administrator/Desktop/test1/cocos2d/cocos/editor-support/cocostudio/CCActionFrame.cpp’, needed by obj/local/armeabi/objs-debug/cocostudio_static/CCActionFrame.o'. Stop. make: *** Waiting for unfinished jobs.... [armeabi] StaticLibrary : libcocos2d.a make: Leaving directory C:/Users/Administrator/Desktop/mygame1/proj.android’
执行命令出错,返回值:2。

把obj文件夹删了再编译试试

好像可以了,什么原理啊大神

obj是存放编译出来的文件的,删掉是重新编译。
你是不是以前用别的版本的NDK编译过

这是我直接cocos new 出来的,cocos compile是不是就是编译jni里面android。mk里面的c++文件然后和java文件一起打包成apk

对的
mk写的是要编译的C++文件和编译目录、方式等,编译成.a文件最终生成.so文件放在libs文件夹下,java是编译成.dex文件,在apk解压都能看到

[armeabi] Install : libMyGame.so => libs/armeabi/libMyGame.so
make: Leaving directory `C:/Users/Administrator/Desktop/mygame1/proj.android’
正在生成 apk 文件…
正在执行:’“D:\adt-bundle-windows-x86-20130917\eclipse\plugins\org.apache.ant_1.8.3.v201301120609\bin\ant” clean debug -f C:\Users\Administrator\Desktop\mygame1\proj.android\build.xml -Dsdk.dir=“D:\adt-bundle-windows-x86-20130917\sdk”’

Buildfile: C:\Users\Administrator\Desktop\mygame1\proj.android\build.xml

-check-env:
[checkenv] Android SDK Tools Revision 22.2.1
[checkenv] Installed at D:\adt-bundle-windows-x86-20130917\sdk

-setup:
[echo] Project Name: mygame1
[gettype] Project Type: Application

-pre-clean:

clean:
[delete] Deleting directory C:\Users\Administrator\Desktop\mygame1\proj.android\bin
[delete] Deleting directory C:\Users\Administrator\Desktop\mygame1\proj.android\gen

BUILD FAILED
D:\adt-bundle-windows-x86-20130917\sdk\tools\ant\build.xml:460: …\cocos\platform\android\java resolve to a path with no project.properties file for project C:\Users\Administrator\Desktop\mygame1\proj.android

Total time: 2 seconds
执行命令出错,返回值:1。

大神,这个问题怎么解?

自己瞎鼓捣好了


这个文件路径错了

缺少文件
no project.properties file
直接用eclipse run吧

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.cocos2dx.cpp/org.cocos2dx.cpp.AppActivity}: java.lang.ClassNotFoundException: Didn’t find class “org.cocos2dx.cpp.AppActivity” on path: DexPathList[[zip file “/data/app/org.cocos2dx.cpp-1.apk”],nativeLibraryDirectories=[/data/app-lib/org.cocos2dx.cpp-1, /system/lib]]

运行项目的时候又出错,这是什么原因,一点头绪也没有

你用cocos run命令还是eclipse

eclipse
好了


又发现一个坑,在windows系统下,library project必须和project处于相同的盘符中,因为如果在不同盘符,project.properties中的android.library.reference.1值变成绝对路径,而ADT推荐是在ubuntu下使用的,对windows绝对路径有支持bug。

在windows系统是这样的,当时我也过坑过