2010-03-16 37 views
13

Tôi đã tải xuống phiên bản Android mới nhất cho Linux (android-sdk_r05-linux_86.tgz). Tôi đã cố gắng sử dụng tác vụ Android Ant để đóng gói, xây dựng và triển khai mã của mình. Tôi nên đề cập rằng tôi đang chạy AMD64, nhưng tôi đã cài đặt các thư viện 32 bit. Các tác vụ Android Ant đều bị hỏng.Điều gì đã xảy ra với Android AAPT?

Trước tiên, tác vụ khởi chạy trình mô phỏng không bao giờ chạy trình giả lập. Nó có được quá khứ bắt đầu adb, nhưng sau đó nó chỉ ngồi ở đó.

Thứ hai, SDK thiếu tệp nhị phân AAPT trong thư mục công cụ. Vì vậy, ví dụ mẫu ứng dụng notepad sẽ không bao giờ gói chính xác.

java.lang.IllegalStateException: Không thể tìm thấy aapt bên trong sdk
tại/home/user/bin/android-sdk-linux_86
tại com.googlecode.autoandroid.lib.AndroidTools.locateTool (AndroidTools java: 116)
tại com.googlecode.autoandroid.lib.AndroidTools.startTool (AndroidTools.java:103)
tại com.googlecode.autoandroid.lib.AndroidTools.startTool (AndroidTools.java:91)
tại com.googlecode.autoandroid.lib.UnixAndroidTools.aapt (UnixAndroidTools.java:9)

Tôi có tất cả các phụ thuộc được định cấu hình cho Android. Tôi có thể chạy nó từ dòng lệnh tốt.

Tôi giả định mã Ant không đồng bộ với các bản cập nhật SDK gần đây. Có ai có thể làm sáng tỏ vấn đề này không? Tại thời điểm này, tôi đang xem xét việc viết các kịch bản Python của riêng mình để tương tác với SDK Android. Ugh.

+1

Cách thức nền tảng ('platform-x.x') được cài đặt thay đổi gần đây.Bạn có chạy công cụ 'android' để tải xuống phiên bản nền tảng bạn cần không? http://developer.android.com/sdk/installing.html#components –

Trả lời

7

Tôi đã viết ba cuốn sách tất cả bằng cách sử dụng tập lệnh xây dựng Android Ant. Tin tôi đi, họ làm việc.

Trước tiên, tác vụ bắt đầu mô phỏng không bao giờ tải trình giả lập. Nó nhận được adb bắt đầu trong quá khứ, nhưng sau đó chỉ cần đặt ở đó.

Chạy lệnh android và khởi chạy trình giả lập từ cửa sổ Trình quản lý AVD xuất hiện. AFAIK, không có nhiệm vụ start-emulator nào trong Ant - trên thực tế, tôi không biết rằng đã từng có một.

Thứ hai, SDK thiếu thiếu ký tự aapt trong thư mục công cụ.

Nếu bạn đang tìm kiếm trong $ANDROID_HOME/tools/ (trong đó $ANDROID_HOME là nơi bạn giải nén SDK), bạn không phải tìm thấy aapt ở đó. Thư mục đó dành cho các công cụ hỗ trợ trực tiếp tất cả các cấp API. Các công cụ cấp API cụ thể, như aapt, sẽ nằm trong $ANDROID_HOME/platforms/$SDK/tools/ (trong đó $SDK là tên của một số phiên bản Android, như android-2.1).

Nếu bạn không có bất cứ điều gì trong $ANDROID_HOME/platforms/, vui lòng thực hiện theo bước 4 của installation instructions.

+0

1) Tôi thấy một tác vụ khởi chạy trình mô phỏng trong ví dụ notepad và nó dường như không hoạt động (xem subversion): 2) Tác vụ Android Ant bị nhầm lẫn với cấu trúc thư mục mới. Bây giờ tôi nhận được "BUILD FAILED java.lang.IllegalStateException: Không thể tìm thấy apkbuilder bên trong sdk tại/home/mike/bin/android-sdk-linux_86/platforms/android-7 /" với env: $ echo $ ANDROID_HOME /home/user/bin/android-sdk-linux_86/platforms/android-7/ $ echo $ ANDROID_SDK /home/user/bin/android-sdk-linux_86 –

+0

1) Vâng, đã lỗi thời . Chúc các tài liệu này được giữ đồng bộ. Không sử dụng bất kỳ tập lệnh Ant nào bạn thấy trên đó - sử dụng 'android create project' hoặc' android update project' để tạo tệp 'build.xml' thích hợp. 2) '$ ANDROID_HOME' phải là'/home/user/bin/android-sdk-linux_86'. Nhận xét của tôi về 'aapt' nhắm vào * bạn * tìm kiếm công cụ theo cách thủ công. Các kịch bản lệnh Ant hiện đại sẽ tìm đúng 'aapt' dựa trên nền tảng bạn đang nhắm mục tiêu. – CommonsWare

+0

Tôi gặp rất nhiều khó khăn trong việc tìm tài liệu về tùy chỉnh tập lệnh xây dựng được tạo bởi "dự án tạo android". Tôi cần phải kiểm soát những gì để biên dịch và làm thế nào nó được đóng gói. Nhiệm vụ "thiết lập" quá chung chung cho mục đích của tôi. –

30

Đối với bất kỳ ai tham gia hoạt động này gần đây, aapt đã được chuyển lại. Hiện tại là $ ANDROID_SDK/build-tools/17.0.0.

+5

đã di chuyển ... một lần nữa :( –

+0

Và nó phá vỡ điện thoại .. – Mustafa

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