AndroidNdk
Summary: Author: 张亚飞 | Read Time: 2 minute read | Published: 2016-08-12
Filed under
—
Categories:
MarkDown
—
Tags:
Tag,
NDK
官网
CrystaX NDK
不错的 NDK
文章
- Android ndk入门学习
- JNI系列教程三 —— NDK入门
- MENU Android Studio中NDK开发
- Android Studio, gradle and NDK integration
- NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
- NDK-JNI实战教程(二) JNI官方中文资料
- Android Studio ndk-Jni开发详细入门,Aes加密demo
- 国外不错的文章-The new NDK support in Android Studio
编译错误记录
集成 NDK
编译 Android
报错:
/home/user5432/workspace/bitmapproj/obj/local/armeabi/objs-debug/mybitmap.o : In function Java_com_example_plasma_PlasmaView_renderPlasma
"undefined reference to AndroidBitmap_getInfo"
"undefined reference to AndroidBitmap_lockPixels"
"undefined reference to AndroidBitmap_unlockPixels"
在 gradle
的 NDK
下添加如下依赖:
ndk {
ldLibs "log","android", "jnigraphics" // 引用依赖的 ndk 库 ldLibs = ["android", "jnigraphics", <other ndk libraries you might need>]
}
或 Android.mk
添加如下依赖
`LOCAL_LDFLAGS += -ljnigraphics`
Reference:
出现 NEON
错误
Error:(31, 2) error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
- Android NDK(ARM开发)使用NEON优化
- Android NDK使用NEON优化,SIMD优化
- Gradle - neon
- How do I enable ARM NEON builds using Gradle?
- How to build and debug native code © with neon enabled in android studio?
- Android-NDK _NEON Support
error Unknown or unsupported ARM architecture
It would appear that at least as of Kitkat 4.4 (API 19), ARM devices are required to be at least ARMv7a:
MUST report, via android.os.Build.CPU_ABI, only one of the ABIs listed below
* armeabi-v7a
* x86
* mips
It's not altogether surprising that the API to follow 19 (Lollipop API 21) would drop support for ARMv5 completely. From what I've read, official builds of 4.4+ are always ARMv7a, but there are some custom builds for certain devices which run ARMv6.
So the fix is to target a lower API or target the armeabi-v7a architecture. Switching to v7a fixed this problem for me.
我的错误信息大概是 android-23/…/cpu-feature.h 中的错误,可能是最新的 ndk 暂不支持 cpu-feature.h 的 armeabi 平台编译库吧, 去掉 abiFilters 中的 armeabi 编译选项即可
abiFilters "armeabi-v7a" , "x86", "mips" //"armeabi", "armeabi-v7a" , "x86"
错误
Error:(208, 9) error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
C:\Users\yafei\AppDeveloperWorkspace\CoamAndroid\app\src\main\jni\audio.c
Error:(208, 9) error: 'for' loop initial declarations are only allowed in C99 or C11 mode
Information:(208, 9) use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
C:\Users\yafei\AppDeveloperWorkspace\CoamAndroid\app\src\main\jni\audio.c: In function 'Java_com_coam_ui_telegram_controller_TelegramMediaController_getWaveform2':
C:\Users\yafei\AppDeveloperWorkspace\CoamAndroid\app\src\main\jni\audio.c:692:5: error: 'for' loop initial declarations are only allowed in C99 or C11 mode
Telegram
相关
ogg
没有 config_types.h
错误
添加文件 rtn56u/user/flac-1.2.1/source/include/ogg/config_types.h
Comments