如何手动将 Gradle 模块添加到 Android 项目?

Ale*_*vić 3 android gradle build.gradle android-gradle-plugin

我正在开发一个项目,该项目是在 Gradle 成为 Android 开发的构建系统(Android 版 LibreOffice 查看器)之前创建的。当项目迁移到 Gradle 时,它​​没有将文件夹结构重新组织为 Android 正在使用的新文件夹结构,因此 Gradle 配置具有以下内容:

        main.manifest.srcFile 'AndroidManifest.xml'
        main.assets.srcDirs = ['assets']
        main.res.srcDirs = ['res']
        main.java.srcDirs = ['../Bootstrap/src', 'src/java']
        main.jniLibs.srcDirs = ['jniLibs']
Run Code Online (Sandbox Code Playgroud)

build.gradle项目根目录的文件中,而“通常的”Gradle 项目在项目的根目录中有一个文件,在每个模块中都有一个文件。

我的问题是,是否足以为模块创建一个新文件夹,并在其中创建一个新build.gradle文件(然后移动适当的文件等)?这是手动添加新模块的“正确”方式,还是我必须在其他地方“声明”该模块才能正常工作并被Android Studio识别?

Com*_*are 6

绝对可以手动执行此操作,就像我为数百个书籍示例应用程序所做的那样。

您列出了这些步骤:

  • 为模块创建一个新文件夹(在这里,我将称之为app
  • 在其中创建一个新build.gradle文件
  • 移动适当的文件

您还需要:

  • 将您的模块添加到settings.gradle,根据需要创建该文件(或从现有的 Android Studio 项目中复制它)

  • 如果您的文件现在都在标准位置(您会在新创建的 Android Studio 项目中找到的方式),请app/build.gradle正确反映移动文件的位置,其中可能包括删除诸如 之类的内容main.assets.srcDirs

  • 添加一个新的项目级build.gradle文件,可能只是从一些标准的 Android Studio 项目中复制过来的

就 Android Studio 本身而言,我强烈建议在Studio之外进行这个项目重组。然后,删除生成的 Studio 项(所有.iml文件、.idea/子目录、build/目录),最后将项目导入回 Studio。

  • @The_Martian:基本上,无论您要进行版本控制。明显的候选对象是您的 Java 代码、资源、清单和资产。如果您使用 NDK,您的 JNI 代码需要移动,您可能需要用 CMake 替换经典的 makefile。但是,如果您使用一些主要框架(Unity3D、PhoneGap 等),答案可能会有很大不同,您需要寻找更适合此类项目的说明。 (2认同)