2016-02-25 12 views
5

Tôi phải cài đặt lại ubuntu-14.04-64 vì lý do.aapt bị thiếu nhưng ở đó

Sau khi cài đặt lại này, khi tôi cố gắng xây dựng projets android của tôi, tôi nhận được một bó của những dòng này (trong số những người khác) ở đầu ra:

java.io.IOException: Cannot run program "/home/gps/Android/Sdk/build-tools/23.0.2/aapt": error=2, No such file or directory 

Bây giờ, tôi biết tập tin này tồn tại trong thiết lập của tôi vì đây :

[email protected]:~$ ls -l /home/gps/Android/Sdk/build-tools/23.0.2/aapt 
-rwxrwxr-x 1 gps gps 1146608 Jan 4 18:47 /home/gps/Android/Sdk/build-tools/23.0.2/aapt 
[email protected]:~$ file /home/gps/Android/Sdk/build-tools/23.0.2/aapt 
/home/gps/Android/Sdk/build-tools/23.0.2/aapt: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=fc8aded5418584519d59f2133e81184fe3d4bdfd, not stripped 
[email protected]:~$ 

Tôi đã cài đặt tất cả các công cụ sdk từ v19 trở đi. Thay đổi cài đặt dự án cho bất kỳ cài đặt nào trong số chúng cũng hiển thị lỗi tương tự.

Ngoài ra, cố gắng để thực hiện các tập tin trực tiếp cho cùng một lỗi:

[email protected]:~$ /home/gps/Android/Sdk/build-tools/23.0.2/aapt 
bash: /home/gps/Android/Sdk/build-tools/23.0.2/aapt: No such file or directory 

Ai đó có thể đề nghị một giải pháp cho vấn đề này?

+0

Bạn có một hệ điều hành 64-bit, nhưng mã nhị phân của bạn là dành cho một kiến ​​trúc 32-bit. Bạn đã sử dụng hệ điều hành 32 bit trước đây chưa? Các phiên bản 64 bit có sẵn không? Về lý thuyết, bạn có thể chạy chúng nếu bạn cài đặt các phiên bản 32 bit của tất cả các thư viện cần thiết. – Joni

+0

Thực ra, tôi đã cài đặt ubuntu 64bit trước đây. Tôi đã sao lưu thư mục sdk trước khi cài đặt. Tôi đã cài đặt lại sdk mới, đã đưa ra vấn đề này. Sau đó, tôi thay thế SDK bằng bản sao lưu, mà vẫn còn đưa ra vấn đề này. – GPS

+0

Dù bằng cách nào cũng có cách cài đặt libs 32 bit không? apt-get install ia32-libs không hoạt động. – GPS

Trả lời

4

Có thể bạn đang thiếu một số thư viện liên kết động mà chương trình cần. Chạy lệnh này để liệt kê các thư viện nó sử dụng và cài đặt những người đang mất tích:

ldd /home/gps/Android/Sdk/build-tools/23.0.2/aapt 
+0

Đã thử điều này. Nhận được kết quả sau: "không phải là thực thi động" – GPS

+2

Ít nhất bạn sẽ cần libc6: 'sudo apt-get install libc6: i386' Hãy thử lại sau đó – Joni

+1

Cần thiết sudo apt-get install zlib1g-dev: i386. Cảm ơn. Tôi sẽ định dạng tất cả thành câu trả lời. – GPS

5

Vấn đề giải quyết như sau:

Issue đã mất tích thư viện 32 bit, libc và zlib trong trường hợp này. Được cài đặt bằng cách sử dụng như sau:

sudo apt-get install libc6:i386 
sudo apt-get install zlib1g-dev:i386 

Cảm ơn @Joni để biết hướng dẫn rõ ràng.

+0

Làm cách nào bạn nhận ra rằng bạn đang thiếu các thư viện chính xác này: ** libc6: i386 ** và ** zlib1g-dev: i386 **? –

+0

Xin lỗi, tôi không nhớ câu trả lời chính xác cho bạn ngay bây giờ, phải là một cái gì đó trong nhật ký. – GPS

3

Giải pháp là của Ubuntu 16.04/16.10 để cho phép mã nhị phân 32 bit để chạy trên 64 bit chủ

sudo dpkg --add-architecture i386 
sudo apt-get -qqy update 
sudo apt-get -qqy install libncurses5:i386 libstdc++6:i386 zlib1g:i386