Italian community of Lazarus and Free Pascal

Presentazioni => Presentazioni nuovi utenti => Topic aperto da: renabor - Settembre 26, 2015, 02:47:04 pm

Titolo: Saluti
Inserito da: renabor - Settembre 26, 2015, 02:47:04 pm
Salve a tutti,
sono capitato qui dopo essermi iscritto al forum inglese di Lazarus.
Ho cominciato a programmare in pascal sul commodore 64 e dopo, un periodo di abbandono dovuto principalmente alla insoddisfazione delle prime versioni di Lazarus per Linux sono tornato ad usare questo bellissimo linguaggio quando ho scoperto che lo si può usare per creare app per Android.
buona programmazione a tutti!
Titolo: Re:Saluti
Inserito da: xinyiman - Settembre 26, 2015, 03:11:33 pm
Salve a tutti,
sono capitato qui dopo essermi iscritto al forum inglese di Lazarus.
Ho cominciato a programmare in pascal sul commodore 64 e dopo, un periodo di abbandono dovuto principalmente alla insoddisfazione delle prime versioni di Lazarus per Linux sono tornato ad usare questo bellissimo linguaggio quando ho scoperto che lo si può usare per creare app per Android.
buona programmazione a tutti!

Benvenuto e grazie per le dritte su android nel forum internazionale.
Non ti nascondo che mi ha stupito un po' scoprire che eri Italiano :)
Titolo: Re:Saluti
Inserito da: nomorelogic - Settembre 26, 2015, 05:27:22 pm
benvenuto

in effetti Lazarus su Linux ha avuto momenti di alti e bassi, speriamo migliori sempre più :)
Titolo: Re:Saluti
Inserito da: renabor - Settembre 27, 2015, 09:00:42 am
Salve a tutti,
sono capitato qui dopo essermi iscritto al forum inglese di Lazarus.
Ho cominciato a programmare in pascal sul commodore 64 e dopo, un periodo di abbandono dovuto principalmente alla insoddisfazione delle prime versioni di Lazarus per Linux sono tornato ad usare questo bellissimo linguaggio quando ho scoperto che lo si può usare per creare app per Android.
buona programmazione a tutti!

Benvenuto e grazie per le dritte su android nel forum internazionale.
Non ti nascondo che mi ha stupito un po' scoprire che eri Italiano :)

Anch'io sono rimasto sorpreso quando ho scoperto che eri italiano e che usavi linux, una rarità ;-) E ancora di più a ritrovarti amministratore del forum italiano di lazarus.
Toglimi una curiosità, nella tua macchina virtuale come sei riuscito a compilare lazarus? Io mi sono bloccato dopo avere creato il pacchetto fpc e vorrei concludere la procedura per completare la mia guida
Titolo: Re:Saluti
Inserito da: renabor - Settembre 27, 2015, 09:04:26 am
benvenuto

in effetti Lazarus su Linux ha avuto momenti di alti e bassi, speriamo migliori sempre più :)

al momento, con fpc 3.1 e lazarus 1.5 (trunk) sono soddisfatissimo e considerate le difficoltà incontrate nel riuscire ad installare e configurare il tutto per poter programmare per Android non cambierò versione per molto, molto tempo  ;)
Titolo: Re:Saluti
Inserito da: xinyiman - Settembre 27, 2015, 05:43:47 pm
Perdonami ma io ho usato la tua guida per installare il tutto.
Titolo: Re:Saluti
Inserito da: nomorelogic - Settembre 27, 2015, 09:22:01 pm
benvenuto

in effetti Lazarus su Linux ha avuto momenti di alti e bassi, speriamo migliori sempre più :)

al momento, con fpc 3.1 e lazarus 1.5 (trunk) sono soddisfatissimo e considerate le difficoltà incontrate nel riuscire ad installare e configurare il tutto per poter programmare per Android non cambierò versione per molto, molto tempo  ;)

tra un po' dovrò buttarmi su android anche io, è molto tempo che rimando, quasi un anno
visto che quì abbiamo 2 pionieri approfitterò alla grande


Edit:
visto che ci siamo...
sarebbe interessante una guida da pubblicare da queste parti :)
Titolo: Re:Saluti
Inserito da: renabor - Settembre 27, 2015, 10:04:56 pm
benvenuto

in effetti Lazarus su Linux ha avuto momenti di alti e bassi, speriamo migliori sempre più :)

al momento, con fpc 3.1 e lazarus 1.5 (trunk) sono soddisfatissimo e considerate le difficoltà incontrate nel riuscire ad installare e configurare il tutto per poter programmare per Android non cambierò versione per molto, molto tempo  ;)

tra un po' dovrò buttarmi su android anche io, è molto tempo che rimando, quasi un anno
visto che quì abbiamo 2 pionieri approfitterò alla grande


Edit:
visto che ci siamo...
sarebbe interessante una guida da pubblicare da queste parti :)

Puoi seguire la guida che ho scritto e pubblicato nel forum inglese.i  E' una guida step-by-step, puoi copiare le singole righe ed eseguirle direttamente nella shell, dopo avere sostituito a $MODE il tuo username:

I've updated the guide, integrating it with more specific steps.
A note on fpc version, that must be 2.6.4 for compiling the trunk version (3.1.1).
If you have Ubuntu 14.04 (like me) you must download the correct version from here:
http://packages.ubuntu.com/vivid/fpc-2.6.4

Thank you!

#######################
(replace $HOME with your username)

################
install some necessary programs:

(CMD) sudo apt-get install android-tools-adb ant fp-compiler openjdk-7-jdk subversion

################
(CMD) mkdir ~/Android
(CMD) cd ~/Android

################
install Android NDK
################

Download Android NDK from https://developer.android.com/ndk/downloads/index.html#download
follow instruction to install it

create a symbolik link for later use

(CMD) ln -s /home/$HOME/Android/android-ndk-r10e /home/$HOME/Android/ndk

################
create symbolic link for linker
################

(CMD) cd /usr/bin
(CMD) sudo ln -s /home/$HOME/Android/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as
(CMD) sudo ln -s /home/$HOME/Android/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ld.bfd
(CMD) sudo ln -s /usr/bin/arm-linux-androideabi-as arm-linux-as
(CMD) sudo ln -s /usr/bin/arm-linux-androideabi-ld arm-linux-ld

################
install Android Sdk
################
Download Android Sdk from https://developer.android.com/sdk/index.html#Other (SDK Tools Only)
and extract it

(CMD) tar xzvf android-sdk_r24.3.4-linux.tgz

create a symbolik link for later use

(CMD) ln -s /home/$HOME/Android/android-sdk-linux /home/$HOME/Android/sdk

################
install SDK packages
################
Follow these instructions
https://developer.android.com/sdk/installing/adding-packages.html

and install SDK packages
(CMD) ~/Android/sdk/tools/android sdk

################
modify your PATH
################
Add to your ~/.bashrc:
export PATH=$PATH:~/Android/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin

################
download FPC and LAZARUS
################

svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
svn co http://svn.freepascal.org/svn/fpc/trunk fpc

################
install other needed packages
################
(ref.: http://wiki.freepascal.org/How_to_setup_a_FPC_and_Lazarus_Ubuntu_repository)
sudo apt-get install libgtk2.0-dev libgdk-pixbuf2.0-dev libgpm-dev fakeroot libncurses5-dev libtinfo-dev

################
BUILD FPC.DEB
################

(CMD) cd ~/Android/lazarus/tools/install
(CMD) ./create_fpc_deb.sh fpc /home/$HOME/Android/fpc/

################
purge fpc from system
################

REMOVE all fpc deb and fp_ deb (fpc, fpc-src, fp_compiler and so on)
(EX) sudo dpkg --remove fpc* fp-*

################
INSTALL the new trunk fpc package
################

(CMD) sudo dpkg -i ./fpc_3.1.1-150130_amd64.deb

################
BUILD FPC-SRC.DEB
we need source for fpc, now we create it, and install it
################

(CMD) ./create_fpc_deb.sh fpc-src /home/$HOME/Android/fpc/
(CMD) sudo dpkg -i fpc-src_3.1.1-150130_amd64.deb

################
BUILD LAZARUS.DEB AND INSTALL IT
################

(CMD) ./create_lazarus_deb.sh append-revision
(CMD) sudo dpkg -i lazarus_1.5.47565-0_amd64.deb

################
BUILD THE CROSS COMPILER
################

cd ~/Android/fpc
make clean crossall OS_TARGET=android CPU_TARGET=arm
sudo make crossinstall OS_TARGET=android CPU_TARGET=arm INSTALL_PREFIX=/usr

################
create symbolic link for newly created arm compiler
################

(CMD) cd /usr/bin
(CMD) sudo ln -s /usr/lib/fpc/3.1.1/ppcrossarm .
(CMD) sudo ln -s /usr/bin/ppcrossarm ppcarm

################
update /etc/fpc.cfg
################
Add these lines to /etc/fpc.cfg

#IFDEF ANDROID
#IFDEF CPUARM
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
-Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
#ENDIF
#ENDIF

################
install LAMW
################

(CMD) svn co https://github.com/jmpessoa/lazandroidmodulewizard.git
(CMD) ln -s /home/$HOME/Android/svn-lazandroidmodulewizard/trunk /home/$HOME/Android/lazandroidmodulewizard

################
Install LAMW on Lazarus
################

1. From Lazarus IDE - Install Wizard Packages
  1.1 Package -> Open Package -> "tfpandroidbridge_pack.lpk"  [Android Components Bridges!]
     1.1.1 From Package Wizard
                                - Compile
                                - Use -> Install
  1.2 Package -> Open Package -> "lazandroidwizardpack.lpk"
     1.2.1 From Package Wizard
                                - Compile
                                - Use -> Install
  1.3 Package -> Open Package -> "amw_ide_tools.lpk"  [folder: ..\LazAndroidWizard\ide_tools]
     1.3.1 From Package Wizard
                                - Compile
                                - Use -> Install

2. From Lazarus IDE menu Tools -->> "Android Module Wizard" --> Paths Settings"
  update paths settings according to your system
(ref. https://jmpessoa.opendrive.com/files?Ml82Nzg4MzA1OF9yVVU3RA)

     -Path to Java JDK (ex. /usr/lib/jvm/java-7-openjdk-amd64)
     -Path to Android SDK( ex. /home/renabor/Android/sdk)
     -Path to Ant bin (ex. /usr/bin)
     -Select Ndk version: [10]
     -Path to Ndk (ex  /home/$HOME/Android/android-ndk-r10e)
     -Path to Java Resources  [Simonsayz's Controls.java,  *.xml and default Icons]: (ex. /home/$HOME/Android/svn-lazandroidmodulewizard/trunk/java)

################
BUILD YOUR FIRST PROJECT
################

Open a project from lazandroidmodulewizard/demos/Ant or lazandroidmodulewizard/demos/Eclipse directory
open ~/Android/lazandroidmodulewizard/demos/Eclipse/AppDemo1/jni/controls.lpi
from Project->Options, change/modify paths according to your system (under «paths» and «other»)

(ex. for «paths» ../../../Android/android-ndk-r10e/platforms/android-21/arch-arm/usr/lib;/home/$HOME/Android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.6/)

(ex. for «other» -Xd -CfSoft -CpARMV6 -XParm-linux-androideabi- -FD/home/$HOME/Android/android-ndk-r10e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin)

build it!

################
################
compile for ARM
################
################

from shell
(CMD) cd ~/Android/lazandroidmodulewizard/demos/Eclipse/AppDemo1

################
build.xml
################

<?xml version="1.0" encoding="UTF-8"?>
<project name="AppDemo1" default="help">
<property name="sdk.dir" location="/home/$HOME/Android/sdk"/>
<property name="target"  value="android-19"/>
<property file="ant.properties"/>
<fail message="sdk.dir is missing." unless="sdk.dir"/>
<import file="${sdk.dir}/tools/ant/build.xml"/>
</project>

################
build.sh
################

edit build.sh leaving only this line:

   ant -Dtouchtest.enabled=true debug

################
install.sh
################

remove content of install.sh and replace it with:

/home/$HOME/Android/sdk/platform-tools/adb uninstall com.example.appdemo1
/home/$HOME/Android/sdk/platform-tools/adb install -r bin/AppDemo1-debug.apk
/home/$HOME/Android/sdk/platform-tools/adb logcat

################
Connect a device
################

run an emulator
(CMD) ~/Android/sdk/tools/android avd &

################
COMPILE AND INSTALL
################

(CMD) chmod +x ./build.sh && chmod +x ./install.sh
(CMD) ./build.sh
(CMD) ./install.sh

Enjoy!
Titolo: Re:Saluti
Inserito da: xinyiman - Settembre 27, 2015, 10:45:35 pm
Io vorrei condividere la mia macchina virtuale, solo che sono 8 gb. Ho provato a caricarlo sul mio ftp (del sito) ma quando vado per scaricarlo me ne lascia scaricare solo 3.3 gb su 8 che ho caricato. Devo trovare qualcuno che mi lascia uploadare 8 gb. E in più cercare un week end in cui conto di non lavorare molto perchè mi satura la banda fare la trasmissione.
Titolo: Re:Saluti
Inserito da: renabor - Settembre 28, 2015, 08:04:50 am
Io vorrei condividere la mia macchina virtuale, solo che sono 8 gb. Ho provato a caricarlo sul mio ftp (del sito) ma quando vado per scaricarlo me ne lascia scaricare solo 3.3 gb su 8 che ho caricato. Devo trovare qualcuno che mi lascia uploadare 8 gb. E in più cercare un week end in cui conto di non lavorare molto perchè mi satura la banda fare la trasmissione.

penso tu abbia 2 soluzioni, la prima è splittare il file in 3 file più piccoli di 3GB, e puoi farlo con zipsplit

zipsplit -n 3000000000 filezippato.zip

oppure crei un torrent e lo distribuisci così

Titolo: Re:Saluti
Inserito da: Legolas - Settembre 28, 2015, 10:33:36 am
Per non saturare la banda del server di lazaruspascal.it potresti utilizzare un servizio di file sharing gratuito, tipo mega.nz, oppure dropbox.

mega non ha restrizioni sulla dimensione dei files, mentre su dropbox hai un max di 10 gb.

Qui trovi una comparazione dei diversi servizi:
https://en.wikipedia.org/wiki/Comparison_of_file_hosting_services
Titolo: Re:Saluti
Inserito da: nomorelogic - Settembre 28, 2015, 11:51:15 pm
Io vorrei condividere la mia macchina virtuale, solo che sono 8 gb. Ho provato a caricarlo sul mio ftp (del sito) ma quando vado per scaricarlo me ne lascia scaricare solo 3.3 gb su 8 che ho caricato. Devo trovare qualcuno che mi lascia uploadare 8 gb. E in più cercare un week end in cui conto di non lavorare molto perchè mi satura la banda fare la trasmissione.
se il disco è ad allocazione fissa e non dinamica, prova a fare questa operazione:

1) accedi alla macchina virtuale, apri una shell come root
2) lancia il comando: dd if=/dev/zero of=/tempfile
3) elimina con: rm /tempfile
4) spegni la macchina virtuale e zippala

ora dovrebbe occupare meno di 8 GB