Italian community of Lazarus and Free Pascal

Programmazione => Mobile => Topic aperto da: Microges2000 - Marzo 22, 2012, 11:54:53 am

Titolo: Crosscompile Win32-Android
Inserito da: Microges2000 - Marzo 22, 2012, 11:54:53 am
Dunque apro un altro topic in quanto sto' sperimentando la cross compilazione tra Windows ed il mondo Android e sono giunto a buon punto (direi quasi alla fine mi manca solamente una cosuccia che non riesco a trovare).

Dato che quello che ho fatto fino ad ora è molto lungo ho preferito creare un pdf (lo trovate  qui (http://www.biotecnicainstruments.com/File/Manual/Codetyphon.pdf)) che spiega cosa istallare, come configurare il sistema e come creare un pacchetto apk lavorando in Windows (per quanto mi riguarda 32 bit).

L'unico cosa che ancora non riesco a risolvere - e qui' necessito di aiuto - è che l'apk una volta istallata sull'emulatore o dispositivo crasha: sicuramente per qualche opzione di compilazione che ho omesso e non riesco a trovare (per la cronaca crasha anche l'esempio dato con Lazarus, mentre se compilato con Linux funziona)

Se qualcuno ha pazienza di sperimentare magari riusciamo a trovare una soluzione e, ripeto, saremmo i primi in assoluto. Che io sappia nessuno è ancora riuscito a creare apk con Lazarus partendo dall'ambiente Microsoft.

Bye, bye, popolo  8)
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Marzo 22, 2012, 12:07:09 pm
 8) Grande, quando avrò del tempo lo proverò! La stessa procedura funziona sotto linux?!

Purtroppo sono completamente a digiuno con android quindi non saprei da che parte iniziare ad aiutarti per questa problematica! Sicuramente sarebbe motivo di lustro per tutti noi se la community italiana riuscisse nell'impresa!
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Marzo 22, 2012, 12:27:39 pm
La stessa procedura funziona sotto linux?!

Si! Anche se ci sono alcune differenze specialmente nel settaggio del file build.xml per ant in quanto l'SDK per linux è differente da quello per windows
Titolo: Re:Crosscompile Win32-Android
Inserito da: nomorelogic - Marzo 22, 2012, 12:30:04 pm
complimenti sul serio :)
io ho un win7 a 64 bit questo weekend provo a seguire le indicazioni del tuo pdf

Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Marzo 22, 2012, 12:34:33 pm
La stessa procedura funziona sotto linux?!

Si! Anche se ci sono alcune differenze specialmente nel settaggio del file build.xml per ant in quanto l'SDK per linux è differente da quello per windows

E dove posso trovare le indicazioni corrette, per linux?!
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Marzo 22, 2012, 02:01:31 pm
E dove posso trovare le indicazioni corrette, per linux?!

Istalla l'SDK ed il NDK per linux dopo di che segui le indicazioni qui' http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#How_to_create_an_LCL_Android_Application
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Marzo 22, 2012, 02:37:41 pm
Grazie
Titolo: Re:Crosscompile Win32-Android
Inserito da: nomorelogic - Marzo 28, 2012, 08:59:22 am
x Microges2000
quando hai installato CodeTyphon, tu hai installato anche fpc4android o hai usato la versione fpc che hai trovato a disposizione?

grazie
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Marzo 28, 2012, 11:33:20 am
No. Ho istallato solamente codetyphon ed eseguito, in sequenza

Compilazione Fpc Win32
Compilazione Lazarus Big IDE
Compilazione FPC cross compile win-android
Compilazione Lazarus cross compile win-android
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 12, 2012, 10:33:02 am
Scusa Microges2000, ho installato tutto tramite codetyphon come hai detto tu. Ma mi va in errore. Dice:

C:\codetyphon\fpc\bin\i386-win32\arm-linux-ld.exe: ERROR: Source object C:\Android\android-ndk-r7\platforms\android-14\arch-arm\usr\lib\/libjnigraphics.so has EABI version 5, but target project1 has EABI version 0


Sai perchè?!
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Aprile 12, 2012, 11:39:45 am
L'errore stà nella linea C:\Android\android-ndk-r7\platforms\android-14\arch-arm\usr\lib\

su Opzioni Progetto, Opzioni Compilatore, Percorsi devi puntare a
C:\Programmi\Android\android-ndk-r7b\platforms\android-8\arch-arm\usr\lib\

e su Opzioni Progetto, Opzioni Compilatore, Varie vedi se hai solo queste opzioni:

-dANDROID
-CpARMV6
-Xd
-CfSOFT -FLC:\Programmi\Android\android-ndk-r7b\platforms\android-3\arch-arm\usr\lib\libdl.so -FUC:\Programmi\Android\android-ndk-r7b\platforms\android-3\arch-arm\usr\lib -FDC:\Programmi\Android\android-ndk-r7b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin

ovviamente le path devi cambiarle a seconda di dove hai istallato l'ndk
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 12, 2012, 12:13:06 pm
Strada già percorsa. Avevo poi provato con la 14 per vedere se bastava.

Ho ripristinato come dici tu e non funziona lo stesso. Stesso errore, è qualcosa con EABI che non capisco come sistemare!
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Aprile 12, 2012, 12:19:32 pm
Prova ad inserire (su varie) l'opzione -meabi=0
Comunque dai forum ufficiali sembra un problema di compilazione di FPC (prova a ricompilare fpc cross e lazarus cross)
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 12, 2012, 12:25:44 pm
Provo a ricompilare. Poi vedremo!
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 12, 2012, 01:38:43 pm
Ricompilato, ora funziona! Grazie  :)
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Aprile 12, 2012, 01:58:25 pm
prego.
A proposito se riesci a compilare per android e, su emulatore o cellulare funziona ci dici come hai fatto?
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 12, 2012, 04:39:46 pm
Allora, se provo a fare un programmino ex novo compilo corretto ma poi non so che fare.

Mi è venuto in mente la seguente cosa:
Copiare questo progetto sul desktop

C:\codetyphon\lazarus\examples\androidlcl

aprirlo, cambiare i parametri di riferimento e provare a compilarlo. Aprire il seguente link e cercare la voce Compiling the example LCL Android Application

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Use_the_ready_Virtual_Box_Image_with_FPC_and_Lazarus

Se seguendo le indicazioni funziona, basta copiare quella cartella ogni qual volta che si desidera creare un progetto nuovo e cambiare i componenti come più ci aggrada. Che ne pensate?! Voi avete tempo di provarlo un attimo, perchè io ora non riesco a farlo. Così ci togliamo il dente e vediamo se funziona!
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 13, 2012, 12:26:34 pm
Allora ho compilato in windows l'esempio androidlcl e qui tutto bene, poi su windows non sono riuscito a trovare il comando ant debug e allora ho copiato tutto su linux, ho settato tutto come logica imporrebbe e ho lanciato il comando ant debug. Mi crea l'apk, lo installo sul dispositivo ma poi va in crash quando parte.  :-\
Titolo: Re:Crosscompile Win32-Android
Inserito da: Microges2000 - Aprile 13, 2012, 02:10:50 pm
E' la stessa cosa che capita a me. Dal debug di ant sembra che non riesca ad istanziare la classe primaria - ovviamente sotto linux tutto ok -
Titolo: Re:Crosscompile Win32-Android
Inserito da: xinyiman - Aprile 13, 2012, 05:24:57 pm
Hai già provato questo: http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Step_4_-_Creating_the_APK_package_in_Windows