9

Giả sử rằng tôi có 3 mô-đun: mod1, mod2 và mod3.Android Studio - Cách tạo mô-đun bên trong thư mục con?

Trong trường hợp bình thường, hệ thống tập tin hệ thống phân cấp nên là:

[android_root_dir] 
build.gradle # list this file just to make it clear. 
----mod1 
----mod2 
----mod3 

Nhưng những gì tôi muốn là:

[android_root_dir] 
build.gradle # list this file just to make it clear. 
----modules 
    ----mod1 
    ----mod2 
    ----mod3 

làm thế nào để làm điều đó trong Android Studio 1.1.0?

PS: Tôi tìm thấy bài viết này, nhưng nó dường như không làm việc, hoặc nó hoạt động cho các phiên bản trước của AS, không 1.1.0: How can I move a module inside a subdirectory?

Trả lời

12

Bạn có thể làm điều đó:

root 
    build.gradle 
    settings.gradle 
    modules 
    mod1 
     build.gradle 
    mod2 
     build.gradle 
    mod3 
     build.gradle 

trong bạn settings.gradle

include ':modules:mod1' , ':modules:mod2', ':modules:mod3' 
+3

thx cho phản hồi của bạn. phương pháp này hoạt động ... phần nào ... AS sẽ tạo ra một mô-đun giả và null với tên của "mô-đun", và tạo ra "modules/modules.iml". nếu tôi xóa mô-đun này trong cấu trúc dự án AS, AS sẽ tự động tạo lại nó. bất kỳ ý tưởng? –

+0

tôi từ bỏ hàng giờ nghiên cứu về chủ đề này ... điều quan trọng là bản thân dự án ... tôi sử dụng điều này có nghĩa là: tên mô-đun với tiền tố tên của "mô-đun", chẳng hạn như moduleMain, moduleFuncA, moduleFuncB, v.v. .. –

3

Mặc dù include ':modules:mod1' , ':modules:mod2', ':modules:mod3' loại mang đến cho bạn giải pháp, AS annoyingly tạo ra một module rỗng fo r modules. Để giải quyết vấn đề này, vui lòng tham khảo settings.gradle trên gradle github repo. Về cơ bản nó bao gồm mọi tiểu dự án như một cấp cao nhất và sau đó đặt thư mục dự án của nó nằm bên trong thư mục con. Thủ thuật này hoàn toàn cần giải quyết nhu cầu của bạn.

include 'mod1' 
include 'mod2' 
... 
include 'modX' 
rootProject.name = 'gradle' 
rootProject.children.each {project -> 
    String projectDirName = "modules/$project.name" 
    project.projectDir = new File(settingsDir, projectDirName) 
    assert project.projectDir.isDirectory() 
    assert project.buildFile.isFile() 
} 
+1

Cùng một kết quả có thể đạt được bằng cách thêm mới 'build.gradle' trong thư mục trung gian 'modules', với nội dung: 'jar.enabled = false; uploadArchives.enabled = false' –

-1

Dự án của tôi struct

Coding 
    app 
    push-dir 
    coding-push 
    push-xiaomi 
    setting.gradle 

tập tin setting.gradle

// need repeat declarative, i think it's bug 
include ':app' 
include ':coding-push' 
include ':push-dir:coding-push' 
include ":push-xiaomi" 
include ":push-dir:push-xiaomi" 

tôi đã sử dụng lặp lại khai báo trong settings.gradle để giải quyết. (Android Studio 3.0), tôi nghĩ đó là lỗi của AS. Đôi khi cần khởi động lại AS.

Các vấn đề liên quan