Autore Topic: Da Java project to Android  (Letto 294 volte)

Offline .logan

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Sistema operativo:
    froyo - 2.2
Da Java project to Android
« il: 09 Gennaio 2012, 11:09:58 CET »
0
Ciao a tutti.

Dovrei portare su Android un progetto Java. Questo progetto Java è in realtà un JNI da sorgenti in c/c++.

In sostanza avrei a disposizione la libreria .so , il .java , il .h , e il .jar che contiene il .class relavito al .java

In realtà il .java contiene solamente le chiamate a funzione implementate dentro il file cpp (e che suppongo sia stata compilata nella libreria .so)

La mia domanda è: Come posso importare questi file in modo che le funzionalità del progetto Java funzionino dentro il mio progetto Android?

Grazie
« Ultima modifica: 09 Gennaio 2012, 11:18:25 CET da .logan »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1464
  • keep it simple
  • Respect: +259
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Tattoo / Galaxy S
  • Market Developer Name:
    Bradipao
  • Sistema operativo:
    Windows XP
Re:Da Java project to Android
« Risposta #1 il: 09 Gennaio 2012, 11:19:45 CET »
0
Non ho nessuna esperienza diretta sull'argomento, però forse ti conviene passare da NDK e fare tutto in c/c++ .
Partecipa anche tu all'iniziativa per salvare logCAT, felino in via di estinzione della razza Dalvik : CLICCA QUA

Offline emaborsa

  • Utente junior
  • **
  • Post: 62
  • Java Programmer
  • Respect: +4
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win7 - Android 4.0.3
Re:Da Java project to Android
« Risposta #2 il: 04 Maggio 2012, 09:10:43 CEST »
0
Ciao,
non so se ti serve ancora, ma:
La libreria .so che hai creato non ti serve a molto, dato che devi includerci anche un cpp che fa da ponte tra i tuoi cpp e le classi JAVA.
Comunque dovresti prima scrivere la tua app, e DICHIARARE in java le chiamate che andrebbero a interagire con il codice C/C++, che sono "public native parametroDiRitorno nomeMetodo();"
Una volta dichiarate le chiamate native, hai a disposizione il tool javah che ti crea da solo il .h per interfacciare l'app con la libreria. A questo punto devi DEFINIRE in un CPP quello che è stato creato nel .h Una volta fatto devi fare il build di tutti i .h e .cpp con il tool "ndk build" del NDK.