我在Eclipse上测试Android上的JNI。
我有一个简单的Android项目,只有一个活动。在Eclipse的项目浏览器中,我补充说:
jni/
文件夹Android.mk
在jni/
文件夹中
{li} prng.c
在jni/
文件夹中
源文件名为prng.c
,因为它包含了Crypto ++的随机数生成器。 Crypto ++已经针对ARMv7进行了交叉编译,因此我有libcryptopp.so
待命。
当我选择项目→构建项目时,不会构建库。我也确认它在清理完项目后还没有建成。
Android-PRNG$ find . -iname *.so
Android-PRNG$
问题:为什么Eclipse 不构建共享对象?还有什么需要做的?
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := prng
LOCAL_SRC_FILES := prng.c
include $(BUILD_SHARED_LIBRARY)
prng.c
它目前基本上是空的,因为我无法在调用本机方法的Java类文件上运行javah
。我希望接下来解决这个问题。
#include <string.h>
#include <jni.h>
#include <cryptopp/osrandom.h>
static RandomNumberGenerator& GetPRNG()
{
static AutoSeededRandomPool prng;
return prng;
}
答案 0 :(得分:2)
过去几年,ADT实际上非常容易;之前情况要糟糕得多。已预先安装链接post中描述的插件;你还需要
1安装NDK
2在Preferences/Android/NDK
菜单
3右击您的Android项目Android Tools/Add Native Support
......现在你已经准备好了。