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

如何手动将Gradle模块添加到Android项目?,android,gradle,android-gradle-plugin,build.gradle,Android,Gradle,Android Gradle Plugin,Build.gradle,我正在做一个项目,这个项目是在Gradle成为Android开发的构建系统之前创建的(LibreOffice Viewer for Android)。当项目迁移到Gradle时,它没有将文件夹结构重新组织为Android正在使用的新文件夹结构,因此Gradle配置有如下内容: main.manifest.srcFile 'AndroidManifest.xml' main.assets.srcDirs = ['assets'] main.res.s

我正在做一个项目,这个项目是在Gradle成为Android开发的构建系统之前创建的(LibreOffice Viewer for Android)。当项目迁移到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']
在项目根目录下的
build.gradle
文件中,而“普通”gradle项目在项目根目录下有一个文件,每个模块中有一个文件


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

手动添加是完全可能的,就像我在其他地方所做的那样

您列出了以下步骤:

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

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

  • 让你的
    app/build.gradle
    正确反映移动文件的位置,这可能包括删除
    main.assets.srcDirs
    ,如果你的文件现在都在标准位置(就像你在新创建的Android Studio项目中看到的那样)

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


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

您还需要将其添加到
设置中。gradle
假设您使用的是A.S。请在“适当的文件”中详细说明?对于第一次这样做的人来说,如果你不介意的话,如果你能提供更多的细节,那将是非常有帮助的。@the_Martian:基本上,不管你要在版本控制中做什么。显而易见的候选对象是Java代码、资源、清单和资产。如果您正在使用NDK,那么您的JNI代码将需要移动,并且您可能需要将经典的makefile替换为CMake文件。但是如果你使用一些主要的框架(Unity3D、PhoneGap等),答案可能会有很大的不同,你需要寻找更适合此类项目的说明。我感谢你的及时回复。我现在还没有本机代码。我在app/src/main/java中添加了所有java文件,并在build.gradle中引用了它们。但是所有的Java文件上都有红色圆圈,我无法在我的设备上运行该项目。没有抛出异常,我也看不到AS中的任何错误。你有什么线索吗?@火星人:我不知道你说的“不能在我的设备上运行项目”是什么意思。您可能想问一个单独的堆栈溢出问题,在这里您提供了一个,显示了您的Gradle脚本、项目结构和更详细的症状