早上好/下午/傍晚,我用一種小語言安靜地做了一個新手,在編譯時,有一個我無法解決的問題。我希望以前沒有問過這個問題,但是我檢查了Google和一些stackoverflow上的線程,並且找不到任何解決方案,所以我認爲它沒有。那麼,會發生什麼:編輯smali。問題:低16位必須清零。十六進制ID是否錯誤?
我想修改我的應用程序的C1.smali文件,我只是想改變一個數組的錯誤ID。所以我只是換了id,我沒有碰別的東西。
的smali文件修改後:
.line 52
invoke-virtual {p0}, Lcom/one/aplication/C1;->getResources()Landroid/content/res/Resources;
move-result-object v6
const/high16 v7, 0x7f060001
# array "Codes", id was 0x7f050000
invoke-virtual {v6, v7}, Landroid/content/res/Resources;->getStringArray(I)[Ljava/lang/String;
move-result-object v5
當然,我覈實,該ID是正確的,通過檢查public.xml文件(在res \值)。我讓你自己看:
<public type="string" name="name1" id="0x7f05003d" />
<public type="string" name="surname1" id="0x7f05003e" />
<public type="array" name="server" id="0x7f060000" />
<public type="array" name="Codes" id="0x7f060001" />
<public type="menu" name="search" id="0x7f070000" />
<public type="id" name="txt" id="0x7f080000" />
<public type="id" name="button1" id="0x7f080001" />
現在,當我想重新編譯,apktool扔,我不明白一個問題: C:\apktool>apktool b CC I: Using Apktool 2.0.0-RC4 I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... CC\smali\com\one\aplication\C1.smali[58,4] Invalid literal value: 2131099649. Low 16 bits must be zeroed out. Exception in thread "main" brut.androlib.AndrolibException: Could not smali file : com/one/aplication/C1.smali at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71) at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55) at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41) at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:354) at brut.androlib.Androlib.buildSources(Androlib.java:294) at brut.androlib.Androlib.build(Androlib.java:280) at brut.androlib.Androlib.build(Androlib.java:255) at brut.apktool.Main.cmdBuild(Main.java:225) at brut.apktool.Main.main(Main.java:84)
難道有人知道一些關於這種情況的原因問題? apktool問題指向我修改的行[58]。我真的不知道會發生什麼!感謝任何會盡力幫助我的人,請原諒我可憐的英語。祝你有美好的一天! :)
如果應用程序是你的,你爲什麼要編輯smali而不是Java文件? – jb15613 2015-03-18 21:33:34
我嘗試學習如何在我自己的應用程序上編輯smali文件,因爲我完全知道它是如何工作的。在未來,當我將獲得一些知識時,我將開始研究那些不屬於我的工具。 – MisterX 2015-03-18 21:39:26