其他分享
首页 > 其他分享> > 重用代码Android NDK

重用代码Android NDK

作者:互联网

我找到了很多教程,展示了如何开始使用NDK开发Android应用程序.

但是我有一个相当“容易/愚蠢”的问题:

请考虑以下两个教程:

> http://mobile.tutsplus.com/tutorials/android/ndk-tutorial/
> http://www.indiedb.com/tutorials/creating-compiling-and-deploying-native-projects-from-the-android-ndk
> http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/
> http://marakana.com/forums/android/examples/49.html

现在,在第二个教程中,他们正在构建hello-jni示例.

我的问题是:

使用ndk-build之后

并生产:

是否可以使用生成的libhello-jni.so并将其分发给其他人而不是实际的C代码?

例如,修改Android.mk并将com_myproject_MyActivity.c替换为something.so以便包含共享库?:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib
LOCAL_SRC_FILES := com_myproject_MyActivity.c
include $(BUILD_SHARED_LIBRARY)

欢迎任何建议或教程.提前致谢.

解决方法:

您可以使用预先构建的NDK库,方法是将其复制到libs / armeabi(或它的任何体系结构)中,然后在运行时加载.从Android构建系统的角度来看,它只是APK中要包含的另一个文件.

但是,问题在于,按照惯例,JNI函数名称包括它们将属于的包和类的名称.因此,从SO消费者项目的角度来看,它的使用将显得很不自然,因为JNI函数都无法适合其类.您可能必须附带声明相应Java类的JAR.

标签:android-library,android-ndk,android
来源: https://codeday.me/bug/20191127/2076330.html