Android Studio 中的每个模块都应该创建一个 .so 文件吗?

Should every module in Android Studio create a .so file?

我是 Android Studio 的新手,正在尝试了解它的工作原理。我有一个混合代码库(C++ 和 Java)的项目,并试图将其转换为 Android Studio 项目。

截至目前,我正在从命令行构建我的应用程序,因为我的应用程序当前未使用任何 IDE,它由多个文件夹组成。我想知道我是否应该构建我的项目,以便每个模块都创建一个 .so 文件?换句话说,我应该有:

  1. 一个模块下多个文件夹
  2. 多个模块

每个模块创建一个.so文件还是多个.so文件?

这取决于项目的大小和复杂程度。拥有多个共享库(.so 文件)的一个优点是,如果您在代码库的一个区域进行二进制兼容的更改,则不必重新编译整个项目。您可以只重建您在其中进行更改的模块,依赖的模块将 link 到更新的库中。

如果您的项目很大并且重建所有内容需要很长时间,这可以节省很多时间。如果您希望能够在其他项目中重用某些模块,而不必从该项目中提取所有代码,那么分离成模块是有意义的。

将 C++ 代码拆分为多个模块确实会增加构建的复杂性(并且指定 C++ 构建的语法在此基础上不断变化),因此您在决定时需要考虑到这一点。