2012-02-15 6 views
6

Có cách nào để loại trừ một số tệp nhất định trong thư mục/res khỏi trình xử lý Android không?Cách loại trừ tệp trong thư mục "/ res" của Dự án Eclipse Android

Tôi có một số dự án Android, mà tôi xây dựng bằng Eclipse. Tôi đã tải lên các dự án này trong hệ thống kiểm soát phiên bản của chúng tôi. Vấn đề là, phiên bản kiểm soát thêm một số tập tin "project.pj" vào mỗi thư mục.

Vì các tệp project.pj này, các dự án của tôi sẽ không xây dựng trong Eclipse nữa. Tôi gặp lỗi vì trình xây dựng cố xử lý các tệp này trong/res. Tôi biết tôi có thể loại trừ các tệp này cho thư mục/src và/gen, nhưng làm cách nào để loại trừ chúng cho thư mục/res (và/asset)?

Trả lời

2

aapt là chương trình xử lý các tệp dưới dạng res /. Không có cách nào để nói nó bỏ qua một số tập tin nhất định. Vì vậy, câu trả lời ngắn gọn: bạn không thể. VCS của bạn không phù hợp với các dự án Android. Bạn đã nghe nói về git?

Điều đó nói rằng, hệ thống xây dựng của bạn có thể được mở rộng để di chuyển các tệp không mong muốn này ra khỏi đường, chạy aapt và sau đó di chuyển chúng trở lại. Khi bạn đang sử dụng Eclipse, thực hiện điều này có nghĩa là hack các plugin Android của nó để thêm các bước bổ sung này. Hoặc có thể viết plugin của riêng bạn thực hiện các bước này xung quanh cuộc gọi tới plugin Android - tôi chưa bao giờ tự mình tấn công vào Eclipse và không muốn. Để có bất kỳ hệ thống xây dựng nào khác (ví dụ: sử dụng maven, hoặc ant, hoặc make, hoặc scripts), hãy làm điều này đơn giản như việc hiểu cách hệ thống đó làm bất cứ điều gì. Eclipse chỉ là way more involved. Như một tùy chọn cuối cùng, bạn có thể viết các kịch bản lệnh riêng của mình trong thư mục dự án để di chuyển các tệp .pj này và tự chạy các script này vào các thời điểm thích hợp mà không cần bất kỳ trợ giúp nào từ Eclipse.

+0

Cảm ơn bạn đã làm rõ! Tôi đồng ý rằng điều khiển phiên bản của công ty tôi không phù hợp với các dự án Android. Thật không may, tôi không thể yêu cầu công ty của tôi chuyển sang GIT chỉ cho dự án của tôi. = p Tôi nghĩ rằng tôi sẽ chỉ sử dụng kịch bản xây dựng Ant của riêng mình để xây dựng các ứng dụng của mình. Cảm ơn bạn lần nữa! – rainai

+4

@rainai, tôi chỉ nhận thấy điều này: 'aapt' bỏ qua các tệp bắt đầu bằng dấu chấm (". "), Được xử lý dưới dạng ẩn bởi một số lệnh Unix. Vì vậy, bạn có thể tạm thời đổi tên tệp "project.pj" thành ".project.pj" tại chỗ, điều này thậm chí còn dễ dàng hơn. –

+0

@rainai, ngoài ra, mặc dù tôi đánh giá cao cảm ơn của bạn, vui lòng [chấp nhận câu trả lời của tôi] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work). –

0

Sử dụng kiến ​​để kiểm soát quá trình xây dựng, biên dịch.

+0

Cảm ơn đề xuất. Tôi sẽ cố gắng tạo kịch bản xây dựng Ant của riêng mình cho việc này. – rainai

6

Nếu bạn đặt trước bất kỳ tên tệp nào với dấu chấm (.), nó sẽ bị ẩn khỏi Eclipse và không được bao gồm trong bản dựng của bạn.

Nếu bạn đang sử dụng máy tính chạy Windows, bạn vẫn có thể xem chúng mà không gặp sự cố trong Explorer. Nếu bạn đang sử dụng máy Mac, bạn cần đảm bảo rằng các tệp ẩn đang được tiết lộ nếu bạn muốn tìm lại tệp.

3

thực sự, có một số cách để có được aapt để bỏ qua các tài nguyên đó.

một cách như vậy là với các tài sản --ignore để gọi dòng lệnh, nếu bạn có thể ảnh hưởng đến điều đó (có thể trong tệp build.xml nếu được sử dụng).

bạn cũng có thể sử dụng aapt.ignore.assets= trong ant.properties của mình nếu bạn có.