【发布时间】:2014-11-12 06:45:41
【问题描述】:
我已使用 CLI 将旧的 Cordova android 项目升级到最新版本。但是,当我的项目构建时,它会显示两个 www 文件夹,一个位于项目的根级别,另一个位于资产文件夹中。下面的屏幕显示了它的确切层次结构。
有人能解释一下为什么 Cordova 创建两个 www 文件夹吗?其次,我必须维护和更改哪个目录。
【问题讨论】:
标签: android cordova phonegap-plugins
我已使用 CLI 将旧的 Cordova android 项目升级到最新版本。但是,当我的项目构建时,它会显示两个 www 文件夹,一个位于项目的根级别,另一个位于资产文件夹中。下面的屏幕显示了它的确切层次结构。
有人能解释一下为什么 Cordova 创建两个 www 文件夹吗?其次,我必须维护和更改哪个目录。
【问题讨论】:
标签: android cordova phonegap-plugins
当您使用Cordova 3 CLI 创建新项目时,会创建与 Cordova 2 项目不同的文件夹结构。
例如,CLI 命令cordova create myApp com.example.MyApp MyApp 将创建以下文件夹结构:
myApp/
|-- config.xml
|-- hooks/
|-- www/
|-- plugins/
然后您使用 CLI 添加目标平台,例如 cordova platform add android 将导致:
myApp/
|-- config.xml
|-- hooks/
|-- www/
|-- platforms/
| |-- android/
|-- plugins/
根myApp/www 是您放置应用程序代码的主文件夹。当您使用CLI 为特定平台构建项目时,myApp/www 的内容将复制到目标平台文件夹。例如cordova build android会将myApp/www的内容复制到myApp/platforms/android/assets/www。
但是,由于您的旧项目结构是 Cordova 2,因此平台文件夹实际上是项目中的根文件夹,即myApp/。因此,当您构建项目时,它会将主 www 文件夹 myApp/www 的内容复制到平台文件夹 myApp/assets/www。
您可以尝试手动创建 Cordova 3 项目结构,方法是创建 myApp/platforms/android 并移动所有 Android 特定文件夹(assets/、bin/、cordova/、CordovaLib/、libs/、platform_www/、res/)和文件(myApp/ 中的所有文件,config.xml 除外)。
但如果构建失败,最好的办法可能是使用 Cordova 3 CLI 创建一个与旧项目具有相同签名的新项目,然后将资产从旧项目移出。
【讨论】: