2014-06-06 2 views
6

J'ai eu cette erreur pendant que je décompilais un .apk par apktool. Bien qu'il n'apparaisse pas pour tous les fichiers apk. Aussi j'avais installé ces trois cadres:erreur apktool lors de la décompilation .apk

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

j'ai essayé deux versions différentes de cadre-res.apk mais il n'a pas aidé. Que dois-je faire?

Merci

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) 

Répondre

7

Tout d'abord, s'il vous plaît assurez-vous que vous avez mis à jour votre apktool à la dernière version, vous pouvez suivre les instructions here pour l'installer.

Ensuite, vous devez mettre à niveau votre fichier de structure. Quand j'ai essayé de décompiler un certain fichier apk, il affichera une erreur comme celui-ci

Exception dans le thread "principal" brut.androlib.err.UndefinedResObject: spec ressource: 0x01010462

Elle est causée par votre fichier cadre ne prend pas en charge la dernière version Android, je résolu le problème par:

  1. supprimer le fichier framwork d'origine, mine est située dans

I: Tableau des ressources de chargement du fichier: /Users/csc/Library/apktool/framework/1.apk

  1. Obtenez un cadre approprié apk

    Prenez mon téléphone (nexus 5, android 5.1) pour exmaple, vous pouvez trouver le cadre apk dans/system/framework /, et il s'appelle framework-res.apk. En utilisant adb pull pour le copier sur votre ordinateur, renommez-le en 1.apk, copiez-le dans votre répertoire de fichiers framework.

  2. Réessayez et résolvez le problème.

    here est le tutoriel d'origine détaillé.

Questions connexes