如何在Android的JNI中重用第三方libXXX.so

时间:2012-11-19 13:21:40

标签: android android-ndk

我的应用程序是一个系统app.So我可以使用mm编译它,但我无法使用NDK-BUILD编译它。 我想使用第三方libXXX.so的方法,我想创建一个新的libX.so,它提供了java代码的接口。关键是My cpp文件回调第三方libXXX.so的方法。   所有相应的文件都在同一个目录中。包括Android.mk; a.cpp; liborigin.so; a.h。 android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuilt
LOCAL_SRC_FILES := liboringa.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS    := eng
#LOCAL_PRELINK_MODULE := false
LOCAL_MODULE         := libfoo
LOCAL_SRC_FILES      := /a.cpp
LOCAL_C_INCLUDES     := /zinnia.h
LOCAL_SHARED_LIBRARIES := foo-prebuilt
include $(BUILD_SHARED_LIBRARY)  

在MM之后,出现错误:所需目标“out / target / product / generic / obj / lib / foo-prebuilt.so”。停止。   有人可以帮忙吗?如何编写makefile ..

1 个答案:

答案 0 :(得分:0)

你需要

sudo vi /etc/profile 
export ANDROID_JAVA_HOME = (java in android root java)
. /etc/profile