无法加载-landroid jni

时间:2012-08-08 09:10:51

标签: android c++ android-ndk java-native-interface

我无法在我的软件包中加载-landroid lib,我使用的是Android.mk 代码


include $(CLEAR_VARS)

LOCAL_MODULE := ShirtsAR

TARGET_PLATFORM := android-5

USE_OPENGL_ES_1_1 := false

ifeq ($(USE_OPENGL_ES_1_1), true)
    OPENGLES_LIB  := -lGLESv1_CM
    OPENGLES_DEF  := -DUSE_OPENGL_ES_1_1
else
    OPENGLES_LIB  := -lGLESv2
    OPENGLES_DEF  := -DUSE_OPENGL_ES_2_0
endif

ANDROID_LIB := -landroid 
LOCAL_SRC_FILES := ShirtsAR.cpp

LOCAL_CFLAGS := -Wno-write-strings $(OPENGLES_DEF)

LOCAL_LDLIBS := -llog $(OPENGLES_LIB) $(ANDROID_LIB)
LOCAL_ARM_MODE := arm

include $(BUILD_SHARED_LIBRARY)

请指导,我被卡住了::(

获得以下错误

/android-ndk-r7/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: cannot find -landroid

collect2:ld返回1退出状态 make: * [obj / local / armeabi / libShirtsAR.so]错误1

2 个答案:

答案 0 :(得分:1)

只有API级别9及更高级别支持本机活动(请参阅NDK分发中的docs / STABLE-APIS.html)。因此,如果您想要链接libandroid,您需要更改为

TARGET_PLATFORM := android-9

答案 1 :(得分:0)

我必须在Application.mk文件中使用此APP_PLATFORM变量。在此之后我能够构建我的解决方案。

实施例: APP_PLATFORM:= android-22

今天2017年10月TARGET_PLATFORM对我不起作用。

干杯。