0

要构建JNI共享库,您需要安装 Android NDK 并设置适当的环境变量,例如ANDROID_NDK_ROOT.

cd /Platinum scons target=arm-android-linux build_config=Release

cd /Platinum/Source/Platform/Android/modules/platinum/jni ndk-build NDK_DEBUG=0

导入位于@/Platinum/Source/Platform/Android/modules/platinum/ 的eclipse Android .project 这将创建jar 文件@/Platinum/Source/Platform/Android/modules/platinum/bin/platinum.jar

自述文件是使用 ndk-build 构建铂金的上面。第一步,命令:“ scons target=arm-android-linux build_config=Release”,已经成功了。第二步,命令:“ ndk-build NDK_DEBUG=0”,失败。失败的日志如下。

wingyip@ubuntu:~/Desktop/PlatinumKit-1-0-3-0_a71192_66de97/Platinum/Source/Platform/Android/module/platinum/jni$ ndk-buildStaticLibrary  : libstdc++.aSharedLibrary  : libplatinum-jni.so/home/wingyip/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: error: cannot find -laxTls/home/wingyip/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: /home/wingyip/Desktop/PlatinumKit-1-0-3-0_a71192_66de97/Platinum/Source/Platform/Android/module/platinum/jni/../../../../../../Build/Targets/arm-android-linux/Release/libNeptune.a(NptTls.o): in function NPT_TlsContext::~NPT_TlsContext():NptTls.cpp(.text._ZN14NPT_TlsContextD1Ev+0x18): error: undefined reference to 'ssl_ctx_free'

系统:ubuntu NDK 版本:android-ndk-r8c

4

1 回答 1

1

我也发现了这个问题。这只是一个错字,打开 Android.mk 然后将
LOCAL_LDLIBS += -laxTls更改
为:
LOCAL_LDLIBS += -laxTLS
可以看到 lib 的名称是 libaxTLS.a。

于 2013-02-27T08:32:51.723 回答