2015-08-11 16 views
10

tôi sử dụng các tập tin build.gradle để thu thập một số thư mục trên máy tính của tôi trong thư mục tài sản ứng dụng của tôi:AndroidStudio: thêm thư mục ảo trong gradle

sourceSets { 
    main { 
     assets.srcDirs = ['../someFolder/', 'src/main/assets'] 
    } 
} 

Điều này dẫn đến thư mục tài sản của tôi có các tập tin của someFolder và "gốc" thư mục tài sản:

//The "physical" folders 

../someFolder 
    |- file1.txt 
    |- file2.txt 
    |- file3.txt 
src/main/assets 
    |- asset1.txt 

//...become this: 

assets 
    |- file1.txt 
    |- file2.txt 
    |- file3.txt 
    |- asset1.txt 

Làm thế nào tôi có thể chuyển hướng các đường dẫn trong gradle để thư mục tài sản của tôi có chứa một thư mục "someFolder" với tất cả các tập tin từ someFolder, ví dụ:

assets 
    |- someFolder 
    |--- file1.txt 
    |--- file2.txt 
    |--- file3.txt 
    |- asset1.txt 
+0

Thư mục ảo dưới dạng thư mục không thực sự tồn tại hoặc ảo vì chúng tôi có thể "ghi đè" điều này sau? –

+0

ảo như trong "không thực sự tồn tại". – PhilLab

+1

Tôi không nghĩ rằng đây là thứ gì đó gradle một mình có thể đạt được. Nếu bạn đang sử dụng máy Linux hoặc máy Mac, bạn có thể làm việc với các liên kết tượng trưng. Nên có một cách để kích hoạt lệnh để tạo liên kết tượng trưng từ nguồn của bạn đến thư mục đích của bạn @ gradle's configuration time qua tác vụ Exec https://docs.gradle.org/current/dsl/org.gradle.api.tasks. Exec.html –

Trả lời

1

1) Tạo thư mục bên trong của dự án là tài sản bên ngoài của bạn ./extAssets

sourceSets.main.assets.srcDirs = ['src/main/assets', './extAssets'] 

2) liên kết tất cả các thư mục bên ngoài của bạn bên trong thư mục này

$ cd extAssets/ 
$ ln -s ../../someFolder/ someFolder 

Như kết quả, bạn sẽ thấy

assets 
    |- someFolder 
    |--- file1.txt 
    |--- file2.txt 
    |--- file3.txt 
    |- asset1.txt 

mà không cần sao chép tệp

+0

ý tưởng hay cho Linux! Thật không may nó không phải là nền tảng độc lập (hoặc cụm từ nó một cách khác nhau: không có giải pháp cho Windows) – PhilLab

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