android ndk 预编译,的Android NDK:比预编译库中指定

一个完整的解释,因为你的Android.mk对我没有多大意义:对不起,如果你已经知道一些。

静态库应该是纯C/C++,并且使用Android NDK进行封装以便可以从Java使用。

highfive.h:

int giveMeFive();

highfive.c:

#include "highfive.h"

int giveMeFive() {

return 5;

}

例如,假设您的静态库是由一个简单的.c和.h文件建

这可以被编译为使用Android NDK编译器,显然你人静态库,准备知道该怎么做:这会给我们一个highfive.a库。

在这种形式下,这个库在Java中是不可用的,但它可以使用Android NDK进行封装。请参阅的Android NDK文档命名约定等等

highfiveWrapper.c:

#include "highfive.h"

jint

Java_your_package_name_HighFive_giveMeFive(JNIEnv *env, jobject o) {

return (jint) giveMeFive();

}

及其对应的Java文件:

package your.package.name;

class HighFive {

static {

System.loadLibrary("highfive");

}

public native int giveMeFive();

}

现在,我们如何编译这一切让它起作用:

Android.mk:

include $(CLEAR_VARS)

LOCAL_MODULE := libhighfive-prebuilt

LOCAL_SRC_FILES := path/to/highfive.a

LOCAL_EXPORT_C_INCLUDES := path/to/highfive.h/folder

include $(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := highfive

LOCAL_SRC_FILES := path/to/highfiveWrapper.c

LOCAL_STATIC_LIBRARIES := libhighfive-prebuilt

include $(BUILD_SHARED_LIBRARY)

还有,你应该能够为你想使用你的本地库!

希望这有助于!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值