繁体   English   中英

如何创建具有多个静态库的JNI Android Studio项目

[英]How to create an JNI Android Studio Project with multiple static libs

我正在将我们的游戏从使用ndk-build转换为使用Android Studio和CMake。

该应用程序是采用以下形式的JNI应用程序:


Java主要活动(单个非常基本的.java文件)

C ++应用程式码(游戏程式码)

C ++物理代码(要编译并链接为静态库)

C ++图形代码(要编译并链接为静态库)


这3个文件被编译到一个共享的.so lib中,以由main活动加载和运行。

如何将其转换为gradle构建文件和cmakelist?

我看过很多示例,它们只是链接到外部静态库中,没有用。 我也需要编译它们,并且希望它们显示在项目视图中,以便我可以编辑源代码。

如果我也可以将静态库的“项目”也放到其他应用程序中,同时保留编辑这些库的源代码的能力(类似于Visual Studio项目文件),那也很好。

这可能吗?

非常感谢,

史蒂夫。

CMakeLists.txt

add_library( physics STATIC
         physics/src1.cpp physics/src2.cpp )
add_library( graphics STATIC
         graphics/src1.cpp graphics/src2.cpp )
add_library( game SHARED
         game/src1.cpp game/src2.cpp )
target_link_libraries( game
         physics graphics
         log
)

或者,您可以将其拆分为多个文件:

物理/CMakeLists.txt

add_library( physics STATIC
         src1.cpp src2.cpp )

graphics / CMakeLists.txt

add_library( graphics STATIC
         src1.cpp src2.cpp )

CMakeLists.txt

add_subdirectory( physics )
add_subdirectory( graphics )
add_library( game SHARED
         game/src1.cpp game/src2.cpp )
target_link_libraries( game
         physics graphics
         log
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM