首页 > 代码库 > [Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题

[Phonegap+Sencha Touch] 移动开发18 Sencha Touch项目通过phonegap打包后的程序名字的问题

之前说过

sencha phonegap init com.pushsoft.myapp MyApp

之后打包的程序安装包apk的名字是“MyApp.apk”,显示在手机桌面上的程序名称(图标以下的文字)也是"MyApp"

假设要换成其它名字,改动 MyApp\config.xml 文件,把顶部"<name>MyApp</name>"中间MyApp的改成须要的名字。
注意假设xml内容有中文,要改成utf-8编码,注意是文本文件的编码,不是顶上的"<?xml version=‘1.0‘ encoding=‘utf-8‘?>"。
推荐用Notepad++更改文本文件的编码。

这里有个问题,就是假设改成了全中文名称,比方“我的程序”,会导致sencha app build native失败(phonegap local build android也是失败),例如以下图:


图一:项目名称乱码



图二:编译失败



图三:生成的安卓项目中的java文件没有文件名称



图四:同图二,java文件的内容,没有类名导致编译失败


原因是java文件类名来自config.xml文件中的"<name>我的程序</name>"中间的名字,cordova或phonegap对中文的支持不太好,导致这样的情况。


解决的方法例如以下:

打开C:\Users\username\.cordova\lib\android\cordova\3.4.0\bin\lib\create.js,找到以下红框的内容



改成以下的样子:


这个修正的作用是:假设config.xml中的名字是英文的,就用这个英文的名字;假设被改成了全中文,就用"CordovaExample"这个名字。


之后打包的程序安装包apk的名字是“CordovaExample.apk”,显示在手机桌面上的程序名称(图标以下的文字)是"我的程序"


假设你认为apk的这个名字“CordovaExample.apk”不太好,而想要换个文件名称,比方想把包名(如"com.pushsoft.myapp")的最后一部分作为文件名称("Myapp"),能够这样改: