我正在使用ionic来生成资源(图标和启动)。我正在使用离子v2.1.0和cordova v6.4.0。
直到现在我一直在使用(它在以前的版本中运行):
cordova platform add android
ionic resources
这是用这个版本添加android:
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms/android
Package: ...
Name: ...
Activity: MainActivity
Android target: android-24
Subproject Path: CordovaLib
Android project created with cordova-android@6.0.0
在之前的cli版本中,ionic resources
在config.xml
中生成了相应的条目,并且资源已正确放置。
但是在升级了cordova和/或离子cli之后,android的资源还没有被复制,因此icon和splash仍然是cordova的。我见过this thread,它说删除android平台然后使用这个命令:
cordova platform add android@latest
所以这增加了这个平台:
Adding android project...
Creating Cordova project for the Android platform:
Path: platforms/android
Package: ...
Name: ...
Activity: MainActivity
Android target: android-25
Subproject Path: CordovaLib
Android project created with cordova-android@6.1.0
成功复制图标并启动。问题是这会创建一个额外的res
文件夹:
├── bower.json
├── config.xml
├── gulpfile.js
├── hooks
├── ionic.config.json
├── node_modules
├── package.json
├── platforms
├── plugins
├── res
│ ├── drawable-land-hdpi
│ ├── drawable-land-ldpi
│ ├── drawable-land-mdpi
│ ├── drawable-land-xhdpi
│ ├── drawable-land-xxhdpi
│ ├── drawable-land-xxxhdpi
│ ├── drawable-port-hdpi
│ ├── drawable-port-ldpi
│ ├── drawable-port-mdpi
│ ├── drawable-port-xhdpi
│ ├── drawable-port-xxhdpi
│ ├── drawable-port-xxxhdpi
│ ├── mipmap-hdpi
│ ├── mipmap-ldpi
│ ├── mipmap-mdpi
│ ├── mipmap-xhdpi
│ ├── mipmap-xxhdpi
│ └── mipmap-xxxhdpi
├── resources
├── scss
└── www
所以我的问题是:
res
文件夹的目的是什么?res
文件夹吗?cordova prepare
)答案 0 :(得分:5)
resources
文件夹中。将它们添加到resp。 resources/android
和resources/ios
代替它们,如果它们需要不同的话。然后运行ionic resources
请参阅下面的解决方案:
您已更新至最新版本的Cordova,但未更新至最新版本的Android平台。这样做是为了更新到版本6.1.0:
cordova platform update android@6.1.0
之后,资源将被上传到platforms / android中的res目录,您可以安全地从项目根目录中删除res目录。
修改
此问题已在Cordova 6.5.0中修复。
使用以下命令将项目更新到Cordova 6.5.0。
npm install -g cordova
如果你已经使用cordova早期版本构建了项目,则必须更新项目的android平台。
cordova platform update android@6.1.1