今天本來想修改S5830下拉菜單欄的透明
用apktool發現一直無法編譯,後來發現編譯普通的apk就正常
編譯系統的apk就會出現如下錯誤
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(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.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(Unknown Source)
... 5 more
系統找不到指定的檔案。
或者
W: Could not decode attr value, using undecoded value instead: ns=android, name=
theme, value=0x010300a3
W: Could not decode attr value, using undecoded value instead: ns=android, name=
icon, value=0x020200d1
W: Could not decode attr value, using undecoded value instead: ns=android, name=
drawableRight, value=0x0202039b
解決方法如下:
第一:要在你的PC上建立Java的環境,才能執行編譯工作。具體方法我這個就不說了,你百度或者Google下就知道了,很簡單的。
第二:下載下傳必要的工具。Apktool工具。
下載下傳後解壓(有三個檔案aapt.exe,apktool.bat,apktool.jar),為了友善。将解壓出來的檔案放在CDM模式(win+R)預設的目錄下。
比如,我的是Windows7 32位 我的CDM模式預設目錄是C:\USER\使用者名 。
第三:如果你是要編譯系統檔案的話,請将你要修改的rom裡的framework-res.apk(暫時叫做依賴包)用CMD模式“安裝”下。
這樣編譯才不會出錯。我一開始就是在這裡糾結了很久。呵呵
framework-res.apk檔案在system/framework裡
安裝方法:把依賴包放在剛才放apktool的目錄下。(你也可以用指定目錄的方法安裝)
cmd模式 執行apktool if framework-res.apk 這個是安裝framework-res.apk