Cordova编译Android 22 以上版本,中文目录出错问题的解决办法

原创 2016年01月07日 11:02:41

如果用corodva编译工程,并且工程是中文名,在windows下会报错,类似如下贴子

http://www.lai18.com/content/1316143.html

找遍网络没发现处理方法,细看后解决,其实原理很简单,android的文件都按照utf-8处理,但windows下的java默认是gbk,强制指定一下字符集即可。


自己的错误:

2016-01-07 10:49:50 :preDexDebug
2016-01-07 10:49:51 
2016-01-07 10:49:51 UNEXPECTED TOP-LEVEL EXCEPTION:
2016-01-07 10:49:51 java.lang.RuntimeException: D:\Work\SVN\Native\鎴戠殑宸ョ▼\build\src\platforms\android\build\intermediates\classes\debug: file not found
2016-01-07 10:49:51 at com.android.dex.util.FileUtils.readFile(FileUtils.java:51)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:169)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processOne(Main.java:672)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.run(Main.java:277)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.main(Main.java:245)
2016-01-07 10:49:51 at com.android.dx.command.Main.main(Main.java:106)
2016-01-07 10:49:51 
2016-01-07 10:49:51 UNEXPECTED TOP-LEVEL EXCEPTION:
2016-01-07 10:49:51 java.io.FileNotFoundException: D:\Work\SVN\Native\鎴戠殑宸ョ▼\build\src\platforms\android\build\intermediates\pre-dexed\debug\classes-bc78ef27922ebddaf5ac264df598226800028ed8.jar (系统找不到指定的路径。)
2016-01-07 10:49:51 at java.util.zip.ZipFile.open(Native Method)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:215)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:145)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:159)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processOne(Main.java:672)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.run(Main.java:277)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.main(Main.java:245)
2016-01-07 10:49:51 at com.android.dx.command.Main.main(Main.java:106)
2016-01-07 10:49:51 2 errors; aborting
2016-01-07 10:49:51 
2016-01-07 10:49:51 FAILURE: Build failed with an exception.
2016-01-07 10:49:51 
2016-01-07 10:49:51 * What went wrong:
2016-01-07 10:49:51 Execution failed for task ':dexDebug'.
2016-01-07 10:49:51 > com.android.ide.common.internal.LoggedErrorException: Failed to run command:
2016-01-07 10:49:51 D:\Work\BeX5\tools\adt-sdk\build-tools\23.0.2\dx.bat --dex --no-optimize --output D:\Work\SVN\Native\我的工程\build\src\platforms\android\build\intermediates\dex\debug --input-list=D:\Work\SVN\Native\我的工程\build\src\platforms\android\build\intermediates\tmp\dex\debug\inputList.txt
2016-01-07 10:49:51 Error Code:
2016-01-07 10:49:51 1
2016-01-07 10:49:51 Output:
2016-01-07 10:49:51
2016-01-07 10:49:51 UNEXPECTED TOP-LEVEL EXCEPTION:
2016-01-07 10:49:51 java.lang.RuntimeException: D:\Work\SVN\Native\鎴戠殑宸ョ▼\build\src\platforms\android\build\intermediates\classes\debug: file not found
2016-01-07 10:49:51 at com.android.dex.util.FileUtils.readFile(FileUtils.java:51)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:169)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processOne(Main.java:672)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.run(Main.java:277)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.main(Main.java:245)
2016-01-07 10:49:51 at com.android.dx.command.Main.main(Main.java:106)
2016-01-07 10:49:51
2016-01-07 10:49:51 UNEXPECTED TOP-LEVEL EXCEPTION:
2016-01-07 10:49:51 java.io.FileNotFoundException: D:\Work\SVN\Native\鎴戠殑宸ョ▼\build\src\platforms\android\build\intermediates\pre-dexed\debug\classes-bc78ef27922ebddaf5ac264df598226800028ed8.jar (系统找不到指定的路径。)
2016-01-07 10:49:51 at java.util.zip.ZipFile.open(Native Method)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:215)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:145)
2016-01-07 10:49:51 at java.util.zip.ZipFile.<init>(ZipFile.java:159)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
2016-01-07 10:49:51 at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processOne(Main.java:672)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.run(Main.java:277)
2016-01-07 10:49:51 at com.android.dx.command.dexer.Main.main(Main.java:245)
2016-01-07 10:49:51 at com.android.dx.command.Main.main(Main.java:106)
2016-01-07 10:49:51 2 errors; aborting
2016-01-07 10:49:51 
2016-01-07 10:49:51 
2016-01-07 10:49:51 * Try:
2016-01-07 10:49:51 Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
2016-01-07 10:49:51 :dexDebug FAILED
2016-01-07 10:49:51 
2016-01-07 10:49:51 BUILD FAILED


根据提示把

D:\Work\BeX5\tools\adt-sdk\build-tools\23.0.2\dx.bat

中的最后一行改为

call "%java_exe%" %javaOpts% -Dfile.encoding=UTF-8 -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%

增加了-Dfile.encoding=UTF-8 这个强制指定字符集,本质原因是中间文件dex\debug\inputList.txt是utf-8格式

在 Cordova/Phonegap for Android 中包含中文文件名的页面

在 Cordova/Phonegap for Android 中包含中文文件名的页面 本贴首发于:http://xuekaiyuan.com/forum.php?mod=viewthread&tid...
  • hu_zhenghui
  • hu_zhenghui
  • 2013年06月30日 22:53
  • 3330

修改cordova项目名称为中文名称

在项目根位置,config.xml。 中文支持需要将
  • Pompeii
  • Pompeii
  • 2014年06月22日 14:11
  • 2622

Phonegap中文乱码解决方法

phonegap 传递中文汉字 出现乱码的情况 ; 解决办法: 在html中head里面, 添加如下代码即可     整个工程统一编码  用utf-8...
  • aaawqqq
  • aaawqqq
  • 2014年03月11日 06:56
  • 5125

cordova 安装配置 及遇到的问题解决

1,需要先按照node.js   下载地址:https://nodejs.org/en/   默认安装目录:C:\Program Files\nodejs 2,cmd下运行命令 npm ...
  • lvsucceed
  • lvsucceed
  • 2015年12月21日 14:25
  • 9717

关于android studio 的FAILURE: Build failed with an exception解决办法

FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':processX...
  • u010242232
  • u010242232
  • 2015年10月24日 11:02
  • 4928

cordova build android遇到的问题

一.下载gradle-2.2.1-all.zip不成功,一直在下载,卡在这个downloading http://services.gradle.org/distributions/gradle-2....
  • zsmurf
  • zsmurf
  • 2016年04月14日 15:23
  • 5921

关于cordova编译安卓版本问题

当我们为cordova添加平台时候,cordova默认会为我们添加安卓版本,这样如果我们的版本不对应,就会要求下对应的版本,很麻烦,所以需要修改版本号,C:\Users\iii\app\platfor...
  • x531526
  • x531526
  • 2015年05月19日 10:24
  • 1225

Cordova 1 安装及示例程序

Cordova使用官网文档http://cordova.apache.org/docs/en/5.0.0/guide_cli_index.md.html#The%20Command-Line%20In...
  • xundh
  • xundh
  • 2015年07月07日 18:32
  • 10461

[Cordova/Phonegap] Cordova打包Android,遇到gradle下载失败的解决办法

Cordova 4+开始,用的是gradle构建安卓项目。所以,Cordova打包安卓的时候,首次需要下载gradle。 如果你遇到下载失败的情况,如下: 这应该是网络问题,国内你懂得。 ...
  • lovelyelfpop
  • lovelyelfpop
  • 2016年08月16日 16:06
  • 6769

Cordova编译异常小结

java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor versio...
  • xiaofanku
  • xiaofanku
  • 2016年06月23日 23:37
  • 3549
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cordova编译Android 22 以上版本,中文目录出错问题的解决办法
举报原因:
原因补充:

(最多只允许输入30个字)