用ApkTool反编译的文件。
我只是把res\values文件夹下的String.xml内的英文,改成中文。
重新编译就会出错。为什么?
那应该怎么改成中文呢?

解决方案 »

  1.   

    更改的唯一地方:报错信息:
    开始编译...
    I: Checking whether sources has changed...I: Smaling...I: Checking whether resources has changed...I: Building resources...E:\testrun\res\values\strings.xml:3: error: Error parsing XML: not well-formed (invalid token)E:\testrun\res\values\public.xml:5: error: Public symbol string/app_name declared here is not defined.E:\testrun\res\values\public.xml:6: error: Public symbol string/hello_world declared here is not defined.E:\testrun\res\values\public.xml:7: error: Public symbol string/menu_settings declared here is not defined.Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\APKTOOL8600514301616845090.tmp, -I, D:\我的文档-桌面-收藏夹\apktool\framework\1.apk, -S, E:\testrun\res, -M, E:\testrun\AndroidManifest.xml] at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193) at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301) at brut.androlib.Androlib.buildResources(Androlib.java:248) at brut.androlib.Androlib.build(Androlib.java:171) at brut.androlib.Androlib.build(Androlib.java:154) at brut.apktool.Main.cmdBuild(Main.java:174) at brut.apktool.Main.main(Main.java:59)Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\APKTOOL8600514301616845090.tmp, -I, D:\我的文档-桌面-收藏夹\apktool\framework\1.apk, -S, E:\testrun\res, -M, E:\testrun\AndroidManifest.xml] at brut.util.OS.exec(OS.java:83) at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191) ... 6 moretestrun.apk 编译失败!
      

  2.   

    字符编码出错了,找个支持修改编码的编辑器,将字符编码膝盖为utf-8.