2012-07-19 15 views
8

Tôi đang cố gắng xây dựng R.java bằng cách sử dụng lệnh aapt từ dòng lệnh. Tôi đang chỉ định nhiều thư mục -S vì tôi có nhiều thư mục res. Tôi đang xây dựng bằng cách sử dụng:Làm cách nào tôi có thể sử dụng nhiều giá trị -S với aapt mà không sử dụng <add-resource>?

aapt package \ 
    -M AndroidManifest.xml \ 
    -m -J gen \ 
    -S src/com/example/res \ 
    -S src/com/example/ui/res 

Thật không may, tôi nhận được lỗi sau:

src/com/example/ui/res/values/strings.xml:2: error: Resource at app1_name appears in overlay but not in the base package; use <add-resource> to add. 

Hiện nay, src/com/example/ui/res/values/strings.xml chứa sau:

<resources> 
    <string name="app1_name">MyAppName</string> 
</resources> 

Tôi không muốn phải thay đổi điều này thành:

<resources> 
    <add-resource type="string" name="app1_name">MyAppName</add-resource> 
</resources> 

(Điều này được đề xuất trên https://groups.google.com/forum/?fromgroups#!topic/android-porting/bYfeLEjERjg, mặc dù nó thậm chí không có vẻ giải quyết được vấn đề của tôi.)

Tôi đã sai lầm trong kỳ vọng về cách đối số -S có hoạt động không?

Cách giải quyết duy nhất tôi có thể nghĩ đến là liên kết mềm tất cả các -S thư mục của tôi như là thư mục con của thư mục gốc res và để xác định res như -S thư mục duy nhất.

Trả lời

14

Tôi tin rằng giải pháp là sử dụng cờ --auto-add-overlay. Tôi đã phát hiện ra điều này bằng cách chạy tập lệnh xây dựng Ant mặc định với -v cho chế độ tiết.

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