Autore Topic: app android come machera di una programma c  (Letto 2063 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
app android come machera di una programma c
« il: 13 Febbraio 2012, 15:55:01 CET »
0
Ciao a tutti volevo capire se era possibile con android riuscire a fare il procedimento del titolo. Nel particolare a me interesserebbe riuscire a far funzionare il programma c, acquisire i dati in uscita e poi elabolareli per conto mio. Il programma che voglio usare è opensource ma per installarlo e usarlo su pc ho bisogno del comando make. Si può fare questa cosa ho devo muovermi in qualche altra direzione?

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:app android come machera di una programma c
« Risposta #1 il: 13 Febbraio 2012, 20:47:03 CET »
0
Con Android puoi fare praticamente di tutto in C e C++ tranne gestire le GUI, devi passare per forza via Java. Nel NDK ci sono diversi esempi basta studiarli. Il comando per compilare il codice nativo C e C++ è "ndk-build", un wapper del comando POSIX "make". I file per la compilazione JNI sono dei makefile e non c'è un supporto ufficiale per Eclipse.
adb logcat | tee /tmp/logcat | grep TAG

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:app android come machera di una programma c
« Risposta #2 il: 14 Febbraio 2012, 10:12:59 CET »
0
grazie per le info, comunque riusciresti a indicarmi un esempio veramente semplice con tutti i primi passi da seguire, perchè quello che mi manca è proprio la partenza iniziale della programmazione. dalla creazione di un nuovo progetto su esclipse all'aggiunta del codice c nel progetto e l'interazione tra i due linguaggi

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:app android come machera di una programma c
« Risposta #3 il: 14 Febbraio 2012, 11:40:45 CET »
0
Non c'è il supporto ufficiale per Eclipse verso JNI come ho scritto prima, si devono scrivere dei makefile, basta un semplice editor di testo.

Per utilizzare il JNI sotto Android devi essere un programmatore esperto (C/C++ e Java come minimo) e conoscere bene i makefile. Tutta la documentazione con esempi è fornita nel NDK ufficiale di Android. La base di partenza è l'esempio "hello-jni", più semplice di quel progetto è impossibile.
adb logcat | tee /tmp/logcat | grep TAG

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:app android come machera di una programma c
« Risposta #4 il: 14 Febbraio 2012, 11:50:52 CET »
0
grazie allora spulcerò bene quella ufficiale. In c e java me la cavo niente male, ma i makefile onestamente non li ho mai toccati, so in via teorica quello che sono e che fanno, ma mi fermo lì. Grazie comunque dell'aiuto! ;-)

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:app android come machera di una programma c
« Risposta #5 il: 14 Febbraio 2012, 14:25:41 CET »
+1
La mia esperienza su NDK è prossima allo zero però secondo me la soluzione migliore è provare a fare il processo inverso. Sopratutto se hai windows7.

Come prova (e ripeto PROVA) sono riuscito a ricompilare e far partire qualche esempio in release (allineamento incluso) facendo tutto quanto su windows 8 64-bit Developer Preview. Senza toccare un solo makefile (va beh ho dovuto editare la target version...).

Insomma... yes, we can!  :-P

Per prima cosa devi installarti l'sdk, l'ndk e compagnia. Quando vai a mettere il JDK utilizza la versione a 32-bit (nel caso avessi un sistema win64) come consigliato ovunque ma metti la versione 6, non usare assolutamente la 7 perchè il 90% del tempo l'ho buttato cercando di generarmi un certificato valido e non c'è stato verso di ottenerne uno. Stessi identici parametri, stesso compilatore, stesso pc... ho messo la versione 6 e come per magia mi ha installato l'app. Mistero...

Il trucco è utilizzare questo:

http://code.google.com/p/vs-android/

è un plugin per visual studio (solo versione 2010) per lavorare su android direttamente da MSVC 2010. Niente makefile, tutto integrato.

Tra l'altro, essendo programmatore C++ ed usando MSVC da anni è stata la prima cosa che ho fatto con android, ancora prima di sapere cosa fosse una activity. Visto che con la developer preview di Windows 8 ti forniscono una versione beta di visual studio 11 e non ero sicuro che tutto funzionasse (appunto perchè non avevo mai visto nulla di android prima di allora) mi sono scaricato MSVC2010 express che è GRATUITO e me lo sono installato in parallelo a Visual Studio 11.

Totale: siccome gli sln sono versionati va che è una bellezza anche se hai già un'altra versione di visual studio installata.

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express

In pratica tu hai una cartella con dentro il tuo sln e due sottocartelle cartelle: una con il java (AndroidApk) dove hai res/src androidmanifest.xml build.xml e il project prooperty file e una coi sorgenti C++ (CppSource).

Non ho provato ma credo che tu possa creare la parte java con eclipse e poi prendere e spostare i dati nella cartella AndroidApk e poi concentrarti sulle funzioni C++.

 :-)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:app android come machera di una programma c
« Risposta #6 il: 21 Febbraio 2012, 10:30:41 CET »
0
grazie a tutti per i consigli alla fine sono riuscito a capire più o meno che funzione con semplici pogrammini e adesso mi sento più o meno padrone di questa tecnica anche se ancora se capita degli errori durante la compilazione ndk non è facile andarli a risolvere:)..scusate il ritardo ma sono davvero molto preso dal lavoro

Offline squalo86ct

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    huawei sonic
  • Sistema operativo:
    windows 7
Re:app android come machera di una programma c
« Risposta #7 il: 23 Febbraio 2012, 17:17:19 CET »
0
ciao a tutti :D mi sono iscritto giusto perchè anche a me interessa programmare su piattaforma android ma in c++.
però vorrei andare un po' contro tendenza...

Con Android puoi fare praticamente di tutto in C e C++ tranne gestire le GUI, devi passare per forza via Java. Nel NDK ci sono diversi esempi basta studiarli. Il comando per compilare il codice nativo C e C++ è "ndk-build", un wapper del comando POSIX "make". I file per la compilazione JNI sono dei makefile e non c'è un supporto ufficiale per Eclipse.

mai pensato all'ipotesi di usare le Qt? le spacciano per librerie portabili anche su android!
« Ultima modifica: 23 Febbraio 2012, 19:20:40 CET da squalo86ct »