2014-09-30 11 views
6

Durante la scrittura di alcuni plug-in Cordova, i file di origine/intestazione, le librerie iOS e Android Jar di alcuni SDK, i file di risorse possono essere aggiunti al plug-in Cordova.Come aggiungere risorse di libreria al progetto Cordova?

Quando si utilizza google-play-services.jar, il progetto di libreria contiene alcuni file di risorse. Se le risorse aggiunte, genereranno R.java nello spazio dei nomi dell'app, non nello spazio dei nomi dell'SDK.

C'è qualche soluzione alternativa per aggiungere il progetto di libreria (incluso jar e risorsa) nel progetto Cordova creato, ma tale soluzione alternativa non può essere utilizzata se si crea l'app Cordova nel servizio cloud come Intel XDK o PhoneGap Build.

È possibile aggiungere la risorsa SDK e generare R.java nello spazio dei nomi dell'SDK? Se sì, come?

+0

controllare questo http://www.vogella.com/tutorials/AndroidLibraryProjects/article.html – Gattsu

+0

grazie per i commenti. So come creare un progetto di libreria e usarlo come dipendenza del progetto di app. Le mie domande sono, se non si utilizza il progetto di libreria, è possibile aggiungere risorse SDK? –

risposta

12

È un peccato che le domande non abbiano ancora ricevuto risposta.

buona notizia è che dopo aver lottato per settimane, mi capita di conoscere la soluzione da un altro progetto: https://github.com/MobileChromeApps/google-play-services

Una nuova funzionalità si aggiunge a Cordova plugin.xml, per supportare Android sotto-progetto da aggiungere a Cordova progetto. Ecco l'esempio del progetto di cui sopra,

<framework src="libs/google-play-services_lib" custom="true" /> 

Per iOS, è abbastanza simile, aggiungi un quadro come questo:

<framework src="src/ios/MobFox.framework" custom="true"/> 

Poi Cordova CLI saprà come aggiungere l'intera cartella di progetto di Cordova e aggiungere come sottoprogetto al progetto eclipse e aggiungere framework al file di progetto Xcode.

Ma attenzione!

Sebbene Cordova CLI supporti questa nuova funzione, Intel XDK non lo supporta ancora !!! Al momento della stesura di questo post (15 novembre 2014), utilizza ancora cordova v3.3.

Il risultato è:

Se si scrive un plugin, e di utilizzare i "com.google.playservices" di plugin come dipendenza,

  • Quando si utilizza Cordova CLI, si plugin può essere costruito senza Qualche problema.
  • Se si utilizza Intel XDK, il plugin non può essere caricato.

Quindi, come risolverlo per Intel XDK?

La risposta è: specificare l'esatto numero di versione della dipendenza nella vostra plugin.xml, in questo modo:

<dependency id="[email protected]"/> 

Spero che le informazioni di cui sopra è utile a qualcuno che ha incontrato lo stesso problema.

Cheers.