2014-06-06 28 views
6

Tôi gặp lỗi này trong khi tôi đang biên dịch một .apk theo apktool. Mặc dù Nó không xuất hiện cho tất cả các tập tin apk. Ngoài ra tôi đã cài đặt ba khung:apktập lỗi khi biên dịch .apk

framework-res.apk 
SystemUI.apk 
twframework-res.apk 

Tôi đã thử hai phiên bản khác nhau của khung-res.apk nhưng nó đã không giúp đỡ. Tôi nên làm gì?

Cảm ơn bạn

I: Baksmaling... 
Error occured while disassembling class Ldxoptimizer.con; - skipping class 
java.io.IOException: The parameter is incorrect 
     at java.io.WinNTFileSystem.createFileExclusively(Native Method) 
     at java.io.File.createNewFile(File.java:883) 
     at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:176) 
     at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:49) 
     at brut.androlib.src.SmaliDecoder.decode(SmaliDecoder.java:34) 
     at brut.androlib.Androlib.decodeSourcesSmali(Androlib.java:74) 
     at brut.androlib.ApkDecoder.decode(ApkDecoder.java:89) 
     at brut.apktool.Main.cmdDecode(Main.java:146) 
     at brut.apktool.Main.main(Main.java:77) 
I: Loading resource table... 
I: Loaded. 
I: Decoding AndroidManifest.xml with resources... 
I: Loading resource table from file: C:\Users\ShayanK\apktool\framework\1.apk 
I: Loaded. 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
hardwareAccelerated, value=0xffffffff 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
hardwareAccelerated, value=0xffffffff 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
hardwareAccelerated, value=0xffffffff 
I: Regular manifest package... 
I: Decoding file-resources... 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
exitFadeDuration, value=0x00000190 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3f333333 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
previewImage, value=0x7f020001 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x00000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3f000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3f000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3e99999a 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
previewImage, value=0x7f020002 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3f000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x3f000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
showAsAction, value=0x00000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
alpha, value=0x00000000 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
previewImage, value=0x7f020002 
W: Could not decode attr value, using undecoded value instead: ns=android, name= 
previewImage, value=0x7f020001 
I: Decoding values */* XMLs... 
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 
0x01030119 
     at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61) 
     at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58) 
     at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54) 
     at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen 
ceValue.java:62) 
     at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe 
renceValue.java:46) 
     at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca 
larValue.java:44) 
     at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re 
sStyleValue.java:48) 
     at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB 
agValue.java:40) 
     at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour 
ces.java:440) 
     at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243 
) 
     at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115) 
     at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114) 
     at brut.apktool.Main.cmdDecode(Main.java:146) 
     at brut.apktool.Main.main(Main.java:77) 

Trả lời

7

Trước tiên, hãy chắc chắn rằng bạn đã nâng cấp apktool bạn lên phiên bản mới nhất, bạn có thể làm theo các hướng dẫn here để cài đặt nó.

Sau đó, bạn cần phải nâng cấp tệp khuôn khổ của mình. Khi tôi cố gắng biên soạn lại một số tập tin apk, nó sẽ hiển thị lỗi như

ngoại lệ này trong chủ đề "chính" brut.androlib.err.UndefinedResObject: spec tài nguyên: 0x01010462

Nguyên nhân là do tập tin khuôn khổ của bạn không hỗ trợ phiên bản android mới nhất, tôi giải quyết vấn đề bằng cách:

  1. xóa các tập tin gốc framwork, mỏ nằm ở

I: bảng tài nguyên tải từ file: /Users/csc/Library/apktool/framework/1.apk

  1. Nhận một gói ứng dụng khuôn khổ thích hợp

    Lấy điện thoại của tôi (nexus 5, android 5.1) cho exmaple, bạn có thể tìm thấy apk framework trong/system/framework /, và nó được gọi là framework-res.apk. Sử dụng kéo adb để sao chép nó trên máy tính của bạn, đổi tên nó thành 1.apk, sao chép nó vào thư mục tệp khuôn khổ của bạn.

  2. Hãy thử lại và giải quyết được sự cố.

    here là hướng dẫn nguồn gốc chi tiết.