Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova 科尔多瓦/爱奥尼亚资源_Cordova_Ionic Framework - Fatal编程技术网

Cordova 科尔多瓦/爱奥尼亚资源

Cordova 科尔多瓦/爱奥尼亚资源,cordova,ionic-framework,Cordova,Ionic Framework,我正在使用ionic生成资源(图标和飞溅)。我使用的是ionic v2.1.0和cordova v6.4.0 到目前为止,我一直在使用(它在以前的版本中工作): 这是将android添加到此版本: Adding android project... Creating Cordova project for the Android platform: Path: platforms/android Package: ... Name: ... Activity: M

我正在使用ionic生成资源(图标和飞溅)。我使用的是ionic v2.1.0和cordova v6.4.0

到目前为止,我一直在使用(它在以前的版本中工作):

这是将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和/或ionic cli后,android的资源没有被复制,因此图标和飞溅仍然是cordova的。我看到了,上面说要删除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
    文件夹吗
  • 如果我想在android和ios上使用不同的图标,我现在如何管理?(在以前的案例中,我在备份文件夹中复制为android生成的资源,为ios生成新资源,然后将它们混合在一起,并使cordova准备好)
  • 没有目的,这是一个bug,应该在platforms/android文件夹中生成
  • 是的,你可以
  • 如果splash.png和icon.png需要相同,可以将它们添加到
    resources
    文件夹中。将它们添加到resp
    resources/android
    resources/ios
    ,如果它们需要不同,则取而代之。然后运行离子资源
  • 请参见下面的解决方案:

    您已更新至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
    

    这不起作用:当再次运行
    爱奥尼亚资源
    时,它会重新生成所有资源(无论它们是否已生成,因此它们会被覆盖),请确保已安装这两个平台,并且资源文件夹本身中没有图标。然后将icon.png添加到resources文件夹中的android和ios文件夹中,并运行ionic resources。是的,两个文件夹中的资源都将被覆盖,这就是您想要的。构建后,资源将复制到两个平台中的正确文件夹中。有关更多信息:
    cordova platform update android@6.1.1