Java 如何创建具有多个静态lib的jniandroidstudio项目
我正在将我们的游戏从使用ndk构建转换为使用Android Studio和CMake 该应用程序是采用以下形式的JNI应用程序:Java 如何创建具有多个静态lib的jniandroidstudio项目,java,android,android-ndk,java-native-interface,native,Java,Android,Android Ndk,Java Native Interface,Native,我正在将我们的游戏从使用ndk构建转换为使用Android Studio和CMake 该应用程序是采用以下形式的JNI应用程序: Java主活动(单个非常基本的.Java文件) c++应用程序代码(游戏代码) c++物理代码(作为静态库编译和链接) c++图形代码(作为静态库编译和链接) 这3个文件被编译成一个共享的.so库,由主活动加载和运行 这如何转化为gradle构建文件和CmakeList 我见过很多只链接到外部静态libs的例子,这是没有用的。我也需要编译它们,我希望它们显示在项目
Java主活动(单个非常基本的.Java文件) c++应用程序代码(游戏代码) c++物理代码(作为静态库编译和链接) c++图形代码(作为静态库编译和链接)
这3个文件被编译成一个共享的.so库,由主活动加载和运行 这如何转化为gradle构建文件和CmakeList 我见过很多只链接到外部静态libs的例子,这是没有用的。我也需要编译它们,我希望它们显示在项目视图中,以便我可以编辑源代码 如果我也能将静态库“projects”放到其他应用程序中,同时保留编辑这些库的源代码(类似于VisualStudio项目文件)的能力,那也会很好 这可能吗 非常感谢,
史蒂夫。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
)
add_library( physics STATIC
src1.cpp src2.cpp )
add_library( graphics STATIC
src1.cpp src2.cpp )
add_subdirectory( physics )
add_subdirectory( graphics )
add_library( game SHARED
game/src1.cpp game/src2.cpp )
target_link_libraries( game
physics graphics
log
)
也可以将其拆分为多个文件:
物理学/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
)
add_library( physics STATIC
src1.cpp src2.cpp )
add_library( graphics STATIC
src1.cpp src2.cpp )
add_subdirectory( physics )
add_subdirectory( graphics )
add_library( game SHARED
game/src1.cpp game/src2.cpp )
target_link_libraries( game
physics graphics
log
)
graphics/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
)
add_library( physics STATIC
src1.cpp src2.cpp )
add_library( graphics STATIC
src1.cpp src2.cpp )
add_subdirectory( physics )
add_subdirectory( graphics )
add_library( game SHARED
game/src1.cpp game/src2.cpp )
target_link_libraries( game
physics graphics
log
)
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
)
add_library( physics STATIC
src1.cpp src2.cpp )
add_library( graphics STATIC
src1.cpp src2.cpp )
add_subdirectory( physics )
add_subdirectory( graphics )
add_library( game SHARED
game/src1.cpp game/src2.cpp )
target_link_libraries( game
physics graphics
log
)