jni/
Android.mk -> libmyso.so
folder1/
Android.mk -> libso1.so
folder2/
Android.mk -> libso2.so如何将libso1.so和libso2.so编译到libmyso.so中?因此,我只能在java代码中加载libmyso.so,而不必分别加载libso1.so和libso2.so。
发布于 2015-05-27 09:21:22
如果libso1.so和libso2.so是libmyso.so的依赖项(例如,通过LOCAL_SHARED_LIBRARIES在Android.mk中声明,它们将在Android5.0上自动加载-您需要按反向顺序加载它们(首先加载依赖项,然后加载libmyso.so本身),这只是旧安卓版本中链接器的一个限制。
如果您只想拥有一个包含所有代码的单个.so文件,请将Android.mk for libso1.so和libso2.so更改为do BUILD_STATIC_LIBRARY而不是BUILD_SHARED_LIBRARY,并通过LOCAL_STATIC_LIBRARIES而不是LOCAL_SHARED_LIBRARIES引用它们。然后,它们将被内置,并且您只有一个.so文件要分发和加载。
https://stackoverflow.com/questions/30476028
复制相似问题