2016-02-19 24 views
9

Desidero aggiungere una risorsa estraibile al mio progetto cordova. Ho aggiunto l'icona e gli elementi dello splashscreen bene. Vengono copiati sulla mia piattaforma/android/res/drawable bene. Il problema è quando provo ad aggiungere un'altra risorsa. Come lo faccio? Non riesco a trovare nulla su Cordova, piuttosto che un'icona e splashscreenAggiunta di risorse estraibili utilizzando Cordova

<platform name="android"> 
<icon src="xx.png" density="ldpi"/> 
<icon src="xx.png" density="mdpi"/> 
<icon src="xx.png" density="hdpi"/> 
<icon src="xx.png" density="xhdpi"/> 
<icon src="xx.png" density="xxhdpi"/> 
<icon src="xx.png" density="xxxhdpi"/> 
<splash src="xx.png" density="ldpi"/> 
<splash src="xx.png" density="mdpi"/> 
<splash src="xx.png" density="hdpi"/> 
<splash src="xx.png" density="xhdpi"/> 
<splash src="xx.png" density="xxhdpi"/> 
<splash src="xx.png" density="xxxhdpi"/> 

Qualcuno può aiutare lì? Non vedo alcuna opzione nel config.xml per aggiungere altre risorse estraibili.

+1

Puoi rispondere alla tua domanda e descrivere la soluzione "gancio"? Non sono sicuro di come implementarlo e ho lo stesso problema del tuo post originale. – raider33

risposta

12

EDIT:

Dal Cordova CLI 7.xx, quando si utilizza 6.2.x Cordova-Android o 4.4.x Cordova-IO è possibile utilizzare il tag risorse file config.xml come ho spiegato per il mio vecchia risposta per i plugin. Devi metterlo all'interno del tag della piattaforma.

Esempio:

<platform name="android"> 
    <resource-file src="www/res/drawable-hdpi/yourImage.png" target="res/drawable-hdpi/yourImage.png" /> 
</platform> 

src è dove si ha l'immagine in questo momento, potrebbe essere in www, come nel mio esempio o anche nella radice del progetto se non si desidera che il file duplicato. bersaglio è la destinazione, sarà in ProgettoUtente/piattaforme/platform/bersaglio per l'esempio sarebbe yourProject/platforms/android/res/drawable-hdpi/yourImage.png

risposta VECCHIO:

Dal config.xml si può solo aggiungere icone e lanciare immagini

Se si desidera aggiungere una risorsa è possibile creare un plugin e utilizzare il tag resource-file

<resource-file src="src/android/res/drawable-hdpi/yourImage.png" target="res/drawable-hdpi/yourImage.png" /> 

Oppure si può utilizzare un gancio che copia l'immagine t o dove vuoi

+0

Sono andato per l'opzione gancio. sembra più pulito e ha tutta la logica in gulpfile –

+2

si prega di dare più spiegazioni, è troppo vaga – Cedriga

+0

per il plugin leggere https://cordova.apache.org/docs/en/latest/plugin_ref/spec.html#resource-file, per il gancio, vedi risposta sinedied – jcesarmobile

3

Per i prossimi persone come me, ecco la mia semplice gancio per fare questo, per mettere in hooks/before_build/020_copy_resources.js:

#!/usr/bin/env node 

// Copy native resources 
var rootdir = process.argv[2]; 
var exec = require('child_process').exec; 

// Native resources to copy 
var androidNativePath = 'native/android/'; 

// Android platform resource path 
var androidResPath = 'platforms/android/res/'; 

function copyAndroidResources() { 
    exec('cp -Rf ' + androidNativePath + '* ' + androidResPath); 
    process.stdout.write('Copied android native resources'); 
} 

if (rootdir) { 
    copyAndroidResources(); 
} 

Basta mettere le risorse in Android native/android/ allora e il gioco è fatto partire.

+0

Questo ha funzionato come un fascino, ma assicurati di seguire la convenzione di denominazione della sottocartella per la cartella res per i file in native/android /. –