2012-06-28 63 views
21

Tôi đang thêm dự án thư viện Android vào ứng dụng Android của mình (trong trường hợp này là Beintoo). Nó không phải của tôi; Đó là một thư viện bên ngoài. Tuy nhiên, nó không đi kèm với tệp build.xml. Xây dựng trong Eclipse hoạt động tốt, nhưng khi tôi cố gắng xây dựng ứng dụng của tôi với kiến, tôi nhận được điều này:Thêm dự án thư viện android vào dự án android ngăn Ant xây dựng

BUILD FAILED 
C:\Sandbox\MyProject\build.xml:110: The following error occurred while executing this line: 
C:\Sandbox\MyProject\build.xml:41: The following error occurred while executing this line: 
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:515: Invalid file: C:\Git\Beintoo-Android\beintoo-android-sdk\BeintooSDK\build.xml 

Đó là hoàn toàn đúng. Tệp không hợp lệ vì tệp không tồn tại. Tôi sẽ không biết phải làm gì để thêm nó một cách an toàn, cũng không phải đó là một ý tưởng hay.

Tôi đã học được rằng tôi không thể đơn giản xây dựng dự án thư viện thành một cái bình. Làm thế nào tôi có thể nhận được dự án của tôi để xây dựng trong Ant với dự án thư viện này?

Trả lời

33

Ok, do đó, câu trả lời Lỗi 454 là gần, nhưng không hoàn toàn đúng. Kể từ khi R14 các công cụ Android, mỗi dự án thư viện phải có đó là build.xml riêng nếu nó được xây dựng bởi Ant, như đã nói ở đây:

https://groups.google.com/forum/?fromgroups#!topic/adt-dev/Z2e3dY-3Ma0

Chạy android update lib-project (trong đó, như lỗi 454 ghi chú, là trong thư mục android-sdk/tools cần có trong PATH) trên dự án thư viện sẽ thêm một tệp build.xml chung và cho phép dự án chính xây dựng.

+3

Câu trả lời hay! Cụ thể hơn, tôi phải chạy "cập nhật android lib-project -p". từ bên trong dự án thư viện. Điều này tạo ra build.xml và proguard-project.txt. – runamok

19

Đối với dự án thư viện, bạn cần phải duyệt đến thư mục gốc dự án thư viện và chạy:

android update lib-project -p . 

Các android thực thi trong thư mục sdk/công cụ android mà nên được thêm vào biến con đường của bạn trong Hệ điều hành. Khi bạn chạy điều này, các tệp xây dựng cần thiết sẽ được tạo và kiến ​​tạo của bạn sẽ thành công.

Tương tự như vậy, nếu dự án gốc của bạn không có việc xây dựng các file cần thiết, bạn sẽ cần phải duyệt đến thư mục gốc chính của dự án và chạy:

android update project -p . 
+0

Tôi đã phát hiện và chạy "android update lib-project" trên dự án thư viện, điều này dường như giúp ích, nhưng không hoàn toàn thành công. Làm giải pháp của bạn trên ứng dụng là ném một NullPointerException, vì vậy cho đến khi tôi tìm ra vấn đề đó, tôi không thể nói nó thành công như thế nào trong các tình huống bình thường. – AlbeyAmakiir

2

Ngoài hai câu trả lời chính xác trước đó, tôi phải thêm --target android-16 vì tôi đã nhận được lỗi ": Dự án hoặc không có bộ đích hoặc mục tiêu không hợp lệ".

Vì vậy, trong trường hợp của tôi

android update lib-project -p . --target android-16 

lại làm điều đó. (thay thế số 16 khi bạn cần)

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