在我的Android应用程序中,我使用了一堆开源库,如libyuv,libvpx,libcrypto,libssl等。其中一些来自Android.mk。对于其他人,我手工制作了Android.mk。
此代码仅适用于arm。这是我的Application.mk:
APP_ABI := armeabi-v7a
APP_OPTIM := release
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti
我正在寻找生成针对霓虹灯优化的二进制文件的方法。浏览网页时,我发现有人在他的Android.mk中使用了以下设置:
LOCAL_CFLAGS += -mfloat-abi=softfp -mfpu=neon -march=armv7
我想知道我是否只是将此设置放在Application.mk中,是否会自动应用于所有库?
构建每个库之前的步骤如下:
include $(CLEAR_VARS)
在此行之后包含LOCAL_CFLAGS指令(而不是将其包含在Application.mk中)是否更好?
最后,为什么当它在Application.mk中看到armabi时,ndk-build是否会自动优化霓虹灯?问候。
答案 0 :(得分:1)
它不会自动优化霓虹灯,因为并非所有ARM设备都有霓虹灯。
只有在从源代码构建时才会应用添加这些cflags。如果你有一个.so,你只是在它上面移动它根本不会改变那个文件。