Android(安卓)NDK编译常见错误及解决方案
16lz
2021-01-24
Android NDK编译常见错误及解决方案
please define NDKROOT错误:
1、修改D:\cocos2d\cocos2d-2.1beta3-x-2.1.0\template\android目录下的build_native.sh文件:
添加NDK路径如下:
在检查NDK_ROOT是否存在的代码
if[-z"${NDK_ROOT+aaa}"];then
echo"pleasedefineNDK_ROOT"
exit1
fi
修改后在cygwin中进入到D:\cocos2d\cocos2d-2.1beta3-x-2.1.0\template\android
执行./build_native.sh命令 就可以了
另外注意:在配置cygwin的NDK环境变量时候,变量名最好写成NDK_ROOT
Error 1:
$ ndk-build
/cygdrive/c/andy/abc/obj/local/armeabi-v7a/objs/abc//hellow.o.d:1: *** [color=#FF0000]multiple target patterns[/color]. Stop.
quick fix: Delete Obj folder from “C:\andy\prjM\obj\local\armeabi-v7a” then run ndk-build
or refer this
Error 2:
Android.mk:44: *** [color=#FF0000]commands commence before first target[/color]. Stop.
fix: Check there are no comments,no space ,no empty line in the src includes of Android.mk
For example:
wrong:
[code]LOCAL_SRC_FILES :=file1.cpp\
file1al.cpp\
#file1atures.cpp\
file1r.cpp\
file1le.cpp\
Satfile1.cpp\
Sfile1l.cpp\
file1e.cpp\
Sfile1face.cpp\[/code]
3rd line has #, 4th line has space(check with cursor),5th line is empty line
Right:
[code]LOCAL_SRC_FILES :=file1.cpp\
file1al.cpp\
file1atures.cp\
file1r.cpp\
file1le.cpp\
Satfile1.cpp\
Sfile1l.cpp\
file1e.cpp\
Sfile1face.cpp\[/code]
Error 3:
$ ndk-build clean
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/cygdrive/c/android-ndk-r4b/build/core/build-local.mk:85: *** [color=#FF0000]Android NDK: Aborting[/color] . Stop.
Fix: include Android.mk location inside global application.mk and Android.mk
Run the command from the parent directory with app.mk and and.mk resides
Error 4:
Please define ANDROID_NDK_ROOT to point to the root of your Android NDK installation.
Use case while executing shell script xxx-desktop:~/bin/u/android-ndk-r5/build/tools$ ./rebuild-all-prebuilt.sh
Please define ANDROID_NDK_ROOT to point to the root of your Android NDK installation.
// Run the script inside NDK root directory like shown below
xxx-desktop:~/bin/u/android-ndk-r5/build/tools$ cd ..
xxx-desktop:~/bin/u/android-ndk-r5/build$ cd ..
xxxx-desktop:~/bin/u/android-ndk-r5$ ./build/tools/rebuild-all-prebuilt.sh
Error 5: NDK r5 app(native-activity,native-audio,native-plasma) build problem Compiling native-activity,native-audio,native-plasma on ndk-r5 give compile errors stating header not found andso on ……
Quick fix:Rebuild all prebuilt
i;e execute shell script rebuild-all-prebuilt.sh to build on latest toolchain provided by android which will take for a while (atleast on my pc)
xxx-desktop:~/bin/u/android-ndk-r5$ ./build/tools/rebuild-all-prebuilt.sh
To follow build in another terminal, please use: tail -F /tmp/ndk-toolchain/build-CtAG7s/log.txt
Download sources from android.git.kernel.org
Using git clone prefix: git://android.git.kernel.org/toolchain
downloading sources for toolchain/binutils
downloading sources for toolchain/build
downloading sources for toolchain/gcc
downloading sources for toolchain/gdb
downloading sources for toolchain/gmp
downloading sources for toolchain/gold
downloading sources for toolchain/mpfr
Patching toolchain sources
Toolchain sources downloaded and copied to /tmp/ndk-toolchain/build-CtAG7s/src
Cleaning up...
Done.
Building arm-eabi-4.4.0 toolchain... (this can be long)
ERROR: Could bot build arm-eabi-4.4.0 toolchain!
xxxx-desktop:~/bin/u/android-ndk-r5$
Now change to native-activity folder and call ndk-build for successful libnative-activity.so
xxx-desktop:~/bin/u/android-ndk-r5/samples/native-activity$ ndk-build
Compile thumb: native-activity <= main.c
Compile thumb: android_native_app_glue <= android_native_app_glue.c
StaticLibrary: libandroid_native_app_glue.a
SharedLibrary: libnative-activity.so
Install : libnative-activity.so => libs/armeabi/libnative-activity.so
更多相关文章
- Android(安卓)Studio 1.3.0 以上gradle proxy代理设置异常
- android一个纠结的VFY错误
- Android(安卓)存储路径
- mac下eclipse 搭建 maven开发环境
- android之本地文件读取
- This template depends on the Android(安卓)Support library
- 【Error】MPermissions引入错误 android-apt plugin is incompat
- More than one file was found with OS independent path 'lib/a
- Error while executing process D:\Android-studio\Android\s