Italian community of Lazarus and Free Pascal

Programmazione => Mobile => Topic aperto da: enricomiani - Gennaio 07, 2021, 11:20:54 am

Titolo: Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 07, 2021, 11:20:54 am
Salve a tutti,
ho appena installato Lazarus 2.0.0 con FPC 3.0.4 su un portatile 64 bit con Windows 10. Ho provato a compilare un esempio fornito con LAMW (controls.lpr) per un Raspberry Pi3B+ con Android, ma la compilazione fallisce perché non trova il file ant.bat nella directory di Gradle 6.7.1 e suggerisce di controllare la correttezza del path di Gradle. Il path è corretto, ma il file ant.bat non è presente da nessuna parte. Sono però presenti vari ant con altre estensioni (ant.jar, ant.pom ecc.). Cosa dovrei fare per risolvere questo impasse?

Enrico
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 07, 2021, 11:48:02 am
Come hai installato il tutto? Hai seguito una guida o hai usato un tool?
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 07, 2021, 11:50:13 am
Io ai tempi quando ho installato LAMW (su ubuntu) ho usato un tool chiamato LAMW Manager.
Qui puoi trovare un riferimento.

https://forum.lazarus.freepascal.org/index.php/topic,45361.msg373040.html#msg373040
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 07, 2021, 02:48:19 pm
Sto utilizzando lazandroidmodulewizard-master (LAMW Manager v0.3.1). Non è questo? L'ho scaricato da GitHub, proprio seguendo i link che anche tu mi hai indicato. Cosa sto sbagliando?

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 07, 2021, 04:36:53 pm
A questo punto penso sia un discorso di compatibilità dell'esempio con la tua configurazione con lamw. Ti consiglio di provare a creare un nuovo progetto LAMW e provare a fare un semplice hello world. E vedi se funziona.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 11, 2021, 05:41:08 pm
Ho disinstallato e reinstallato tutto e ora forse riesco a compilare. Dove posso trovare un esempio stupido per creare una finestra con un Button, caricarlo su Raspberry Pi3B+ con Android Lineage (ho anche Emteria) e accendere un LED facendo click sul Button? Il caricamento da PC Windows a Raspberry dovrebbe avvenire attraverso WiFi o ethernet.
Grazie.
Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 12, 2021, 08:26:18 am
Sfortunatamente non ho nessuna competenza con android su raspberry. Forse dovresti contattare l'utente che gestisce il componente LAMW sul forum internazionale e chiedere a lui. Io quando ho lavorato con i raspberry ho sempre usato raspbian come sistema operativo, installavo li sopra lazarus e compilavo nativamente per il dispositivo, e quando dovevo interagire con la pedinatura usavo script python (perchè si trovano già molti esempi scritti) che poi richiamavo come programmi esterni dalla mia applicazione.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 12, 2021, 11:35:46 am
Sto provando ad installare i pacchetti di LAMW ma come provo ad installare lazandroidwizardpack.lpk mi da:

Codice di uscita 2. Errori: 1 Fatal: No memory left.

Ho dato un'occhiata a vari post ma non ho trovato una soluzione sicura. Io uso un portatile HP con Windows 10 e processore Intel Core i7. Può trattarsi di impostazioni a livello di Windows?

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 12, 2021, 12:14:29 pm
Sto provando ad installare i pacchetti di LAMW ma come provo ad installare lazandroidwizardpack.lpk mi da:

Codice di uscita 2. Errori: 1 Fatal: No memory left.


Avevo capito che lo avevi giù installato, perchè nel messaggio precedente dicevi "Ho disinstallato e reinstallato tutto e ora forse riesco a compilare"

Mi sa che come prima cosa devi essere sicuro di aver installato tutto sul tuo computer. Io ti avevo suggerito di usare

LAMW Manager.

Poi provi a creare un esempio come nel video qui: https://www.youtube.com/watch?v=1BH460c9_Aw o qualsiasi altro video tutorial semplice che trovi su LAMW (ovviamente su youtube).

Domanda secca: sei costretto ad usare android sul raspberry? Altri sistemi operativi puoi usarli?

Se così non risolvi l'unica è chiedere aiuto all'utente jmpessoa sul forum internazionale, lui cura il progetto LAMW.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 12, 2021, 05:36:00 pm
Infatti avevo detto "forse". In realtà sono venuti fuori vari errori forse dovuti a una confusione di moduli e versioni differenti. Farò un altro tentativo a breve e vedremo questa volta come andrà.

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 13, 2021, 11:27:29 am
Finalmente sono riuscito a compilare un progettino per Android con solo una finestra e un pulsante.

Quando lo vado a caricare su Raspberry (regolarmente connesso in rete tramite ADB - Delphi vi accede tranquillamente sempre con lo stesso ADB) mi esce un errore con Gradle (versione 6.8, ma succede lo stesso con la 4.4.1).

Mi sembra che dovrebbe esserci qualche sezione del forum adeguata a queste problematiche. Quale potrebbe essere?

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 14, 2021, 08:13:59 am
Finalmente sono riuscito a compilare un progettino per Android con solo una finestra e un pulsante.

Quando lo vado a caricare su Raspberry (regolarmente connesso in rete tramite ADB - Delphi vi accede tranquillamente sempre con lo stesso ADB) mi esce un errore con Gradle (versione 6.8, ma succede lo stesso con la 4.4.1).

Mi sembra che dovrebbe esserci qualche sezione del forum adeguata a queste problematiche. Quale potrebbe essere?

Enrico.

Quindi sei riuscito a compilare il file .apk e a trasferirlo sul raspberry?
Se è così e non funziona mi sa che dovrai farti aiutare da jmpessoa nel forum internazionale. E' lui l'esperto di android. Qui nella comunity italiana se nessun'altro ti ha risposto è perchè LAMW lo usano in pochi qui da noi. Come ti dicevo, io ho fatto alcuni test, ma non mi definisco un esperto.

La sezione c'è ed è la "Mobile".
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 14, 2021, 12:54:00 pm
Come ho accennato, io uso Delphi per compilare programmi in Pascal per Raspberry con Android e funziona tutto alla grande! L'unico neo è che in Delphi non hanno mai sviluppato né dato molta importanza alla questione degli I/O e non solo per Raspberry ma anche per USB, HDMI e Porte Seriali anche sotto Windows(chissà perché), costringendo gli interessati ad arrangiarsi in mille modi o ad installare pacchetti di terze parti molto spesso a pagamento.

Ma per Raspberry con Android è difficile trovare anche librerie a pagamento. Quelle free richiedono sempre la compilazione con Lazarus ed è per questo che l'ho installato. Voglio vedere come andrà a finire. Quando avrò raggiunto uno step sicuro racconterò "strali e colpi di balestra".

Ora però mi succede un fatto curioso (credo che sia solo una questione di settaggi su Lazarus): scrivo un programmino semplice con una finestra ed un pulsante, lo carico via ADB con ethernet sul Raspberry e lo vedo funzionare correttamente. Cambio il sorgente pascal ad esempio modificando il testo nel pulsante o il colore di sfondo della finestra, lo ricompilo lo ricarico e... ricompare sempre la vecchia versione! Anche disinstallando a mano sul rasp, chiudendo e riaprendo Lazarus riappare sempre la prima versione. Dove può essere l'inghippo? sicuramente in qualche settaggio.

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 14, 2021, 04:36:55 pm
Hai provato a vedere se prima e dopo la tua compilazione cambia la data di creazione/modifica del file che mandi al raspberry?

Io quando ho usato lazarus + lamw dovevo effettivamente compilare e mandare il file 2 volte di fila.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 14, 2021, 09:51:20 pm
Non serve, a quanto pare ha preso a funzionare regolarmente e ogni modifica viene inviata puntualmente. Ora posso finalmente andare avanti a cercare di risolvere il problema principale.
Appena possibile posterò qualche risultato di interesse.
Grazie per l'assistenza.
Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: enricomiani - Gennaio 20, 2021, 10:34:26 am
Ho finalmente trovato il modo di eseguire comandi Android da pascal, ma mi manca un dettaglio fondamentale. La mia applicazione dovrebbe gestire i GPIO del Raspberry inviando comandi da Pascal direttamente ad Android, ma ovviamente il kernel risponde che l'applicazione non ha il permesso per eseguirli (però il comando arriva fino ad Android. Questa è già una vittoria!).

Ora il punto è proprio questo: come posso ottenere i privilegi di root alla mia applicazione? Modificando il file config.txt presente nella SDD card di Raspberry? Da pascal con comandi particolari? Ho cercato in giro ma non ci sono molte idee chiare al riguardo. Qualcuno ha mai risolto questo spinoso problema?

Enrico.
Titolo: Re:Lazarus per Raspberry Pi con Android - ant.bat not found
Inserito da: xinyiman - Gennaio 20, 2021, 12:05:23 pm
Bhe io penso (è solo una supposizione) che tu non debba acquisire per forza i privilegi di root (altrimenti dovresti roottare il dispositivo e la procedura cambia da dispositivo a dispositivo se non ho capito male), ritengo che tu debba settare i permessi per la singola applicazione e questo penso lo si faccia dalle configurazioni dell'interfaccia android. Ora io non ho idea di quali permessi vanno ad abilitare l'uso della GPIO perchè come dicevo non è molto frequente l'uso di android su raspberry. Di solito si preferisce usare raspbian, quindi sono quasi sicuro che dovrai confidare in san motore di ricerca oppure andare per tentativi.