2016-12-25 24 views
0

當我運行ionic resourcesionic resources android時,它表示iOS和Android都會生成啓動畫面和圖標。但是,當我檢查Android平臺下的res文件夾時,在運行ionic build androidionic run android --device後,圖標未更改。我嘗試清理緩存,卸載應用程序並重新安裝,甚至手動嘗試設置平臺文件夾中的圖標,但沒有任何工作。 iOS圖標/閃屏工作正常。Ionic Resources不會更新平臺/ android/res文件

+0

你的config.xml如何看起來像? – Blauharley

+0

這是http://pastebin.com/BRzETLUw –

回答

0

我也遇到過這個問題。這似乎是Cordova 6的一個問題,應該在6.1中解決。這裏是相關的url - https://github.com/driftyco/ionic-cli/issues/1638

當你運行離子資源命令但是在生成過程中的某一行下,這些文件似乎被正確地複製到了根文件夾下的res文件夾中,文件不會被複制到最後目的地是platform/android文件夾下的res文件夾。

我遵循一個快速手動步驟,將res文件夾的內容從根文件夾下複製到platforms/android/res文件夾中。注意不要擦除目標文件夾中的其他文件夾,例如values和xmls。

之後,圖標和啓動畫面工作得很好。

不幸的是,我目前還沒有更好的解決方案。

1

本週我也有這個問題。這是我做的。

基於this blog post我得到它的工作對我來說有以下步驟:

1)

鉤/ after_prepare/020_android_move_custom_resources.js

#!/usr/bin/env node 

// This hook copies various resource files 
// from our version control system directories 
// into the appropriate platform specific location 

var customResources = [{ 
    "pathToResources/android/other/notification_icon.png": 
     "platforms/android/res/drawable/notification_icon.png" 
    }, { 
    "pathToResources/android/other/thatOtherImg.png": 
     "platforms/android/res/thatOtherFolder/thatOtherImg.png" 
    } 
]; 

var fs = require('fs'); 
var path = require('path'); 

// no need to configure below 
var rootDir = process.argv[2]; 

customResources.forEach(function(obj) { 
    Object.keys(obj).forEach(function(key) { 
     var val = obj[key]; 
     var srcFile = path.join(rootDir, key); 
     var destFile = path.join(rootDir, val); 
     var destDir = path.dirname(destFile); 
     if (fs.existsSync(srcFile) && fs.existsSync(destDir)) { 
      fs.createReadStream(srcFile).pipe(fs.createWriteStream(destFile)); 
     } 
    }); 
}); 
創建一個新的掛鉤

2)把你想要複製的所有資源放入customResources陣列中,每個都在他自己的物體中。關鍵是源頭,價值是目的地。

3)使鉤exectuable

$ chmod +x hooks/after_prepare/020_android_move_custom_resources.js 

這得到它的工作。這樣,克隆我的git項目的任何人都將獲得編譯時複製的文件。

0

下面是我所做的,以儘可能快地工作。

ionic cordova resources android; 
cd resources/android/splash; 
mkdir ../assets; 
mkdir ../assets/drawable-land-hdpi; 
mkdir ../assets/drawable-land-ldpi; 
mkdir ../assets/drawable-land-mdpi; 
mkdir ../assets/drawable-land-xhdpi; 
mkdir ../assets/drawable-land-xxhdpi; 
mkdir ../assets/drawable-land-xxxhdpi; 
mkdir ../assets/drawable-port-hdpi; 
mkdir ../assets/drawable-port-ldpi; 
mkdir ../assets/drawable-port-mdpi; 
mkdir ../assets/drawable-port-xhdpi; 
mkdir ../assets/drawable-port-xxhdpi; 
mkdir ../assets/drawable-port-xxxhdpi; 
cp drawable-land-hdpi-screen.png ../assets/drawable-land-hdpi/screen.png; 
cp drawable-land-ldpi-screen.png ../assets/drawable-land-ldpi/screen.png; 
cp drawable-land-mdpi-screen.png ../assets/drawable-land-mdpi/screen.png; 
cp drawable-land-xhdpi-screen.png ../assets/drawable-land-xhdpi/screen.png; 
cp drawable-land-xxhdpi-screen.png ../assets/drawable-land-xxhdpi/screen.png; 
cp drawable-land-xxxhdpi-screen.png ../assets/drawable-land-xxxhdpi/screen.png; 
cp drawable-port-hdpi-screen.png ../assets/drawable-port-hdpi/screen.png; 
cp drawable-port-ldpi-screen.png ../assets/drawable-port-ldpi/screen.png; 
cp drawable-port-mdpi-screen.png ../assets/drawable-port-mdpi/screen.png; 
cp drawable-port-xhdpi-screen.png ../assets/drawable-port-xhdpi/screen.png; 
cp drawable-port-xxhdpi-screen.png ../assets/drawable-port-xxhdpi/screen.png; 
cp drawable-port-xxxhdpi-screen.png ../assets/drawable-port-xxxhdpi/screen.png; 
cd ../icon; 
mkdir ../assets/mipmap-hdpi; 
mkdir ../assets/mipmap-ldpi; 
mkdir ../assets/mipmap-mdpi; 
mkdir ../assets/mipmap-xhdpi; 
mkdir ../assets/mipmap-xxhdpi; 
mkdir ../assets/mipmap-xxxhdpi; 
cp drawable-hdpi-icon.png ../assets/mipmap-hdpi/icon.png; 
cp drawable-ldpi-icon.png ../assets/mipmap-ldpi/icon.png; 
cp drawable-mdpi-icon.png ../assets/mipmap-mdpi/icon.png; 
cp drawable-hdpi-icon.png ../assets/mipmap-hdpi/icon.png; 
cp drawable-xhdpi-icon.png ../assets/mipmap-xhdpi/icon.png; 
cp drawable-xxhdpi-icon.png ../assets/mipmap-xxhdpi/icon.png; 
cp drawable-xxxhdpi-icon.png ../assets/mipmap-xxxhdpi/icon.png; 
cd ../assets; 
cp -rf ./* ../../../platforms/android/res/; 
cd ../../..; 

第一行執行正常的資源生成。然後剩下的就是格式化文件並將它們移動到正確的目的地。 您可以創建一個.sh腳本並將其放入其中以便於使用。