2014-04-26 21 views
17

Tôi đang gặp phải các vấn đề rất khó chịu với vấn đề apktool ứng dụng. Tôi không hiểu những gì tôi đang làm sai, hoặc vấn đề là gì. Tôi đã thử điều này trên debian, và trên Linux mint. Tôi đã sử dụng các phiên bản khác nhau của apktool,apktool xây dựng apk không thành công

dẫn đến lỗi tương tự:

I: Checking whether sources has changed... 
I: Checking whether resources has changed... 
I: Building resources... 
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3630495287059303807.tmp, -I, /home/awesomename/apktool/framework/1.apk, -S, /home/awesomename/out/./res, -M, /home/awesomename/out/./AndroidManifest.xml] 
    at brut.androlib.res.AndrolibResources.aaptPackage(Unknown Source) 
    at brut.androlib.Androlib.buildResourcesFull(Unknown Source) 
    at brut.androlib.Androlib.buildResources(Unknown Source) 
    at brut.androlib.Androlib.build(Unknown Source) 
    at brut.androlib.Androlib.build(Unknown Source) 
    at brut.apktool.Main.cmdBuild(Unknown Source) 
    at brut.apktool.Main.main(Unknown Source) 
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL3630495287059303807.tmp, -I, /home/windows/apktool/framework/1.apk, -S, /home/windows/out/./res, -M, /home/windows/out/./AndroidManifest.xml] 
    at brut.util.OS.exec(Unknown Source) 
    ... 7 more 
Caused by: java.io.IOException: Cannot run program "aapt": error=2, No such file or directory 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) 
    at java.lang.Runtime.exec(Runtime.java:617) 
    at java.lang.Runtime.exec(Runtime.java:485) 
    ... 8 more 
Caused by: java.io.IOException: error=2, No such file or directory 
    at java.lang.UNIXProcess.forkAndExec(Native Method) 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:135) 
    at java.lang.ProcessImpl.start(ProcessImpl.java:130) 
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) 
    ... 10 more 

Có vẻ như nó không thể sử dụng aapt, nhưng tôi đọc về apktool. Và có vẻ như aapt được xây dựng bên trong apktool, tại sao nó không hoạt động?

Trả lời

41

Có vẻ như đã xảy ra sự cố khi xây dựng tài nguyên trong khi biên dịch lại gói ứng dụng. những gì bạn có thể làm là, khi bạn dịch ngược sử dụng gói ứng dụng của bạn lệnh này

apktool d -f -r apkfilename.apk 

đây -f là để thay thế mã trước apk decompiled và -r là để bỏ qua các dịch ngược các nguồn tài nguyên.

điều này sẽ ngăn tài nguyên bị giải mã và sẽ chỉ sao chép các tài nguyên giống nhau khi bạn biên dịch lại gói ứng dụng.

+0

Vấn đề là, điều này sẽ không cho phép tôi xem các thư mục giá trị. Đó là lý do duy nhất tôi giải mã gói ứng dụng. – ideaman924

0

cố gắng đặt thư mục bao gồm tệp aapt vào PATH của bạn. ví dụ: xuất PATH = $ PATH: ./ ./apktool b

4

Trong trường hợp bạn đang sử dụng phiên bản v1 và hiện được nâng cấp lên v2, hãy thử xóa tệp khuôn khổ theo cách thủ công.

Trên cửa sổ 8, thông thường là C:\Users\YourName\apktool\framework\1.apk.

Tệp sẽ được tạo lại sau khi bạn cố xây dựng thứ gì đó.

+3

Trên OS X (macOS), tại/Users/ // Library/apktool/framework/1.apk'. – nimrodm

+1

Linux tại '/ home/apktool/framework' –

-1

Giải pháp là đưa thư mục apktool vào PATH hệ thống của bạn.

1

Sự cố của tôi đã được giải quyết bằng cách xóa \ framework \ 1.apk, tạo bản sao lưu trên các tệp tôi đã sửa đổi, xóa thư mục và giải mã lại * .apk, v.v ... (trên linux, đường dẫn là home/[user]/apktool/ ...). Sau khi cập nhật, apktool luôn nạp bảng tài nguyên cũ. N

1

Chắc chắn có vẻ như vấn đề AATH PATH mà tôi đã quay trở lại. Bạn đã thêm aapt vào PATH chưa? Nếu bạn vẫn còn có vấn đề, tôi đã thực hiện một bộ apk tốt trong bash để tránh tất cả những vấn đề phụ thuộc. Nó hỗ trợ apktool, signapk, zipalign, adb, fastboot và heimdall. Kiểm tra nó ra. Tất cả những gì bạn cần là một bản cài đặt java hiện tại.

http://forum.xda-developers.com/android/development/toolkit-apk-munky-rench-t3026757/post58747626#post58747626

0

cố gắng để cài đặt ia32-libs và cập nhật phiên bản mới nhất của apktool. (nếu có thể khởi động lại)

apktool yêu cầu "ia32-libs" không khả dụng sau Ubuntu 12.04. cài đặt ia32-libs

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 

Tải về phiên bản mới nhất của apktools.jar-https://bitbucket.org/iBotPeaches/apktool/downloads

apktool hướng dẫn cài đặt hoàn chỉnh - http://ibotpeaches.github.io/Apktool/install/

0

Có một số lý do Lỗi của bạn. Hãy thử những cách sau để giải quyết vấn đề của bạn.

1. Tải xuống tệp jar mới (Đã sửa đổi) từ đây http://onephin.com/fix-apktool-dont-compile-dont-build-error/ 1.1 Giải nén. 1.2 Đổi tên thành Apktool.jar 1.3 Đặt tệp này vào thư mục Apktool của bạn.

2.Make chắc chắn Apktool thư mục của bạn là trong/usr/local/bin (root cần thiết)

3.Make chắc chắn tập tin Apktool.jar là thực thi (chmod + x)

4.Make chắc chắn bạn cài đặt java đúng cách hoặc nếu bạn đã cài đặt java đúng cách thì đường dẫn biến của bạn có thể sai. Để khắc phục vấn đề này Cài đặt lại java và sau đó thiết lập đường dẫn biến đúng cách.

Đối với thêm về để sửa chữa này Vấn đề Visit http://onephin.com/fix-apktool-dont-compile-dont-build-error/

0

Tôi chỉ gặp phải cùng một vấn đề khi chạy apktool d foo.apk (thành công dịch ngược) và sau đó apktool b foo (biên dịch lại thất bại với lỗi tương tự).

Công cụ apktool ở trên đã được cài đặt qua sudo apt-get install apktool trên Kali Linux.

Vì vậy, giải pháp đã được truy cập vào trang web chính thức của apktool, ví dụ: https://connortumbleson.com/2017/01/23/apktool-v2-2-2-released/ (phiên bản mới nhất tại thời điểm viết bài này), tải xuống, md5sum nó, ví dụ: md5sum apktool_2.2.2.jar để xác minh, sau đó đổi tên apktool_2.2.2.jar thành apktool.jar.

Sau đó, làm java -jar ./apktool.jar b foo để biên dịch lại, thành công không có lỗi (gói ứng dụng được tạo tại địa chỉ ./foo/dist/foo.apk).

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