從我一直在讀的平臺文件夾不應該添加到版本控制。然而...... Condova網站上的splashscreen/icon文檔聲明將圖像置於res文件夾中......Android res文件在Cordova中的位置?
那麼我應該如何處理?我想使用合併文件夾,但這只是用於www替換。
任何想法都會很棒。 (如果我添加平臺文件夾,它會導致下一個人遇到問題,即使我嘗試在編譯時創建gitignore文件。
從我一直在讀的平臺文件夾不應該添加到版本控制。然而...... Condova網站上的splashscreen/icon文檔聲明將圖像置於res文件夾中......Android res文件在Cordova中的位置?
那麼我應該如何處理?我想使用合併文件夾,但這只是用於www替換。
任何想法都會很棒。 (如果我添加平臺文件夾,它會導致下一個人遇到問題,即使我嘗試在編譯時創建gitignore文件。
我能夠弄清楚目前看來最好的做法。 。文件這對於其他人也
我創造了我所需要的資源文件夾,然後寫了一個定製鉤複製文件下面是我從http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/使用一個很好的例子:
#!/usr/bin/env node
// This hook copies various resource files
// from our version control system directories
// into the appropriate platform specific location
//
// configure all the files to copy.
// Key of object is the source file,
// value is the destination location.
// It's fine to put all platforms' icons
// and splash screen files here, even if
// we don't build for all platforms
// on each developer's box.
var filestocopy = [{
"config/android/res/drawable/icon.png":
"platforms/android/res/drawable/icon.png"
}, {
"config/android/res/drawable-hdpi/icon.png":
"platforms/android/res/drawable-hdpi/icon.png"
}, {
"config/android/res/drawable-ldpi/icon.png":
"platforms/android/res/drawable-ldpi/icon.png"
}, {
"config/android/res/drawable-mdpi/icon.png":
"platforms/android/res/drawable-mdpi/icon.png"
}, {
"config/android/res/drawable-xhdpi/icon.png":
"platforms/android/res/drawable-xhdpi/icon.png"
}, {
"config/android/res/drawable/splash.png":
"platforms/android/res/drawable/splash.png"
}, {
"config/android/res/drawable-hdpi/splash.png":
"platforms/android/res/drawable-hdpi/splash.png"
}, {
"config/android/res/drawable-ldpi/splash.png":
"platforms/android/res/drawable-ldpi/splash.png"
}, {
"config/android/res/drawable-mdpi/splash.png":
"platforms/android/res/drawable-mdpi/splash.png"
}, {
"config/android/res/drawable-xhdpi/splash.png":
"platforms/android/res/drawable-xhdpi/splash.png"
}, {
"config/ios/Resources/icons/icon-72.png":
"platforms/ios/YourAppName/Resources/icons/icon-72.png"
}, {
"config/ios/Resources/icons/icon.png":
"platforms/ios/YourAppName/Resources/icons/icon.png"
}, {
"config/ios/Resources/icons/[email protected]":
"platforms/ios/YourAppName/Resources/icons/[email protected]"
}, {
"config/ios/Resources/icons/[email protected]":
"platforms/ios/YourAppName/Resources/icons/[email protected]"
}, {
"config/ios/Resources/splash/[email protected]~iphone.png":
"platforms/ios/YourAppName/Resources/splash/[email protected]~iphone.png"
}, {
"config/ios/Resources/splash/[email protected]~iphone.png":
"platforms/ios/YourAppName/Resources/splash/[email protected]~iphone.png"
}, {
"config/ios/Resources/splash/Default~iphone.png":
"platforms/ios/YourAppName/Resources/splash/Default~iphone.png"
}, {
"config/ios/Resources/splash/Default-Portrait~ipad.png":
"platforms/ios/YourAppName/Resources/splash/Default-Portrait~ipad.png"
}, {
"config/ios/Resources/splash/[email protected]~ipad.png":
"platforms/ios/YourAppName/Resources/splash/[email protected]~ipad.png
}, ];
var fs = require('fs');
var path = require('path');
// no need to configure below
var rootdir = process.argv[2];
filestocopy.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);
//console.log("copying "+srcfile+" to "+destfile);
var destdir = path.dirname(destfile);
if (fs.existsSync(srcfile) && fs.existsSync(destdir)) {
fs.createReadStream(srcfile).pipe(
fs.createWriteStream(destfile));
}
});
});
我要注意的是,複製splash文件現在可以通過config.xml正確完成,所有你需要的是本地文件夾該項目的所有圖標和飛濺資產的根。但是,如果您的應用程序需要別的東西複製到res文件夾中,那麼當前接受的答案是很好的方法。
在我的項目中,項目文件夾的根目錄是另一個名爲'res'的文件夾。在裏面,我有一個android
文件夾和一個ios
文件夾,以組織我需要的所有資產。
然後,您只需引用這樣的文件,cordova就會自動將它們複製到正確的位置。
<platform name="android">
<icon src="res/android/mdpi.png" density="mdpi" />
<icon src="res/android/hdpi.png" density="hdpi" />
<icon src="res/android/xhdpi.png" density="xhdpi" />
<icon src="res/android/xxhdpi.png" density="xxhdpi" />
<!--
XXHDPI 144×144 drawable-xxhdpi 3 480 DPI 8 to 12 pixels
XHDPI 96×96 drawable-xhdpi 2 320 DPI 6 to 8 pixels
HDPI 72×72 drawable-hdpi 1.5 240 DPI 4 to 6 pixels
MDPI 48×48 drawable-mdpi 1 160 DPI 3 to 4 pixels
-->
<splash src="res/android/screen.hdpi.9.png" density="hdpi"/>
<splash src="res/android/screen.mdpi.9.png" density="mdpi"/>
<splash src="res/android/screen.xhdpi.9.png" density="xhdpi"/>
</platform>
<platform name="ios">
<icon src="res/ios/icon/icon.png" width="57" height="57"/>
<icon src="res/ios/icon/[email protected]" width="114" height="114"/>
<icon src="res/ios/icon/icon-40.png" width="40" height="40"/>
<icon src="res/ios/icon/[email protected]" width="80" height="80"/>
<icon src="res/ios/icon/icon-50.png" width="50" height="50"/>
<icon src="res/ios/icon/[email protected]" width="100" height="100"/>
<icon src="res/ios/icon/[email protected]" width="120" height="120"/>
<icon src="res/ios/icon/[email protected]" width="180" height="180"/>
<icon src="res/ios/icon/icon-72.png" width="72" height="72"/>
<icon src="res/ios/icon/[email protected]" width="144" height="144"/>
<icon src="res/ios/icon/icon-76.png" width="76" height="76"/>
<icon src="res/ios/icon/[email protected]" width="152" height="152"/>
<icon src="res/ios/icon/icon-small.png" width="29" height="29"/>
<icon src="res/ios/icon/[email protected]" width="58" height="58"/>
<icon src="res/ios/icon/[email protected]" width="87" height="87"/>
<splash src="res/ios/splash/Default~iphone.png" width="320" height="480"/>
<splash src="res/ios/splash/[email protected]~iphone.png" width="640" height="960"/>
<splash src="res/ios/splash/Default-Portrait~ipad.png" width="768" height="1024"/>
<splash src="res/ios/splash/[email protected]~ipad.png" width="1536" height="2048"/>
<splash src="res/ios/splash/Default-Landscape~ipad.png" width="1024" height="768"/>
<splash src="res/ios/splash/[email protected]~ipad.png" width="2048" height="1536"/>
<splash src="res/ios/splash/[email protected]~iphone.png" width="640" height="1136"/>
<splash src="res/ios/splash/Default-667h.png" width="750" height="1334"/>
<splash src="res/ios/splash/Default-736h.png" width="1242" height="2208"/>
<splash src="res/ios/splash/Default-Landscape-736h.png" width="2208" height="1242"/>
</platform>