Compilare/Installare Android Tools

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Compilare/Installare Android Tools

Messaggio da joe »

In questa discussione chiedevo come collegare il cellulare al PC e sfruttarne la connessione internet: il cosiddetto "reverse tethering over USB".

La cosa sembrerebbe possibile se ho ben capito e sempre se ho inteso correttamente non serve neanche avere accesso di root sullo smartphone, basterebbe lanciare un comando del tipo:

Codice: Seleziona tutto

adb shell netcfg usb0 dhcp
Però sul PC deve essere installato un eseguibile chiamato Android Debug Bridge:
http://developer.android.com/tools/help/adb.html

Avete qualche consiglio su come installarlo su Slackware 14.0?
Ho trovato slackbuilds per "android-tools" scritti solo per slack 14.1 o current, ma non sono riuscito a farli funzionare sulla mia 14.0.

Non vedo cose particolarmente strane tra i requisiti di sistema:
http://developer.android.com/sdk/index. ... quirements

L'unica cosa è la necessità di Oracle JDK 7.
Perchè mai la versione 7... Dal sito Oracle non riesco neanche a trovarla, se non dopo aver ricercato un bel po' ed essere giunta a questo archivio dove sono reperibili versioni "dismesse" di JDK:
http://www.oracle.com/technetwork/java/ ... 80-oth-JPR

La versione di Oracle JDK 7u80 potrebbe essere un buon candidato per provare ad creare il pacchetto Android Tools, potrei vedere se il problema sia quello perchè al momento ho installato Oracle JDK 8u66 ....
Se vi sembra invece che tra i requisiti vi sia qualche altro pezzo del mio vecchio sistema slack-14.0 che possa causare la mancata compilazione ditemi pure...
Se avete qualche altro suggerimento per ottenere il tool "adb" senza compilare nulla o se voleste consigliare altre strade per ottenere il "reverse tethering over usb" fatevi avanti.

Vedo intanto cosa succede compilando con JDK 7 anzichè 8.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Niente da fare.. A quanto pare per scaricare le versioni di Oracle Java JDK 7 sembra necessario avere un account Oracle che mi richiede un po' troppi dati personali per i miei gusti.

A quanto dice lì OpenJDK potrebbe non bastare per la compilazione... Infatti fa riferimento proprio a JDK di Oracle... Ma forse il problema sta altrove e la versione di JDK non c'entra nulla.

ilmich
Master
Master
Messaggi: 1563
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 14.2 64bit
Kernel: 4.19.46
Desktop: dwm
Località: Roma

Re: Compilare/Installare Android Tools

Messaggio da ilmich »

La dipendenza con java serve solo se ci devi poi sviluppare con l'sdk, ma se hai bisogno solo dei tool un modo ancora piu' rapido è scaricare l'sdk dal sito ufficiale, esploderlo da qualche parte e mettere nel path di ricerca dei binari la directory

Codice: Seleziona tutto

percorso_sdk/platform-tools
al limite puoi anche estrarlo il binario e metterlo dove piu' ti aggrada. Tieni presente che a prescindere dal pacchetto che scarichi mi sa che sono binari a 32bit.
Una curiosità, cos'e' che nn funziona dello slackbuild?!?!

p.s:io uso la openjdk senza alcun problema di sorta.
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Parto dal fondo:

Anche io uso abitualmente la OpenJDK, di solito mi compilo su Slackware-14.0 il pacchetto che tiene aggiornato AlienBob col relativo slackbuild.
In questa occasione però mi saltava fuori un errore in fase di compilazione degli android-tools, anche in questo caso ho usato lo slackbuild preso da SBo, lo trovi qui:
http://slackbuilds.org/repository/14.1/ ... roid-tools

Metto in allegato parte della compilazione in cui sta l'errore...

Proverò ad estrarre direttamente il binario, ma non ho capito di preciso cosa devo scaricare, cioè quale pacchetto... mi metteresti un link più preciso?
Grazie mille per le dritte! :D
Allegati
errore-android-tools.txt
(12.11 KiB) Scaricato 68 volte
Ultima modifica di joe il mar 3 nov 2015, 17:56, modificato 1 volta in totale.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2792
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.8.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilare/Installare Android Tools

Messaggio da ponce »

non c'e' l'errore nel testo che hai allegato: prova a postare tutto il log, se e' lungo puoi usare pastebin.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Ok, corretto... Non è poi lunghissimo...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Sul sitoall'indirizzo:
http://developer.android.com/sdk/index.html#Other

Ci sono due opzioni:
- SDK Tools Only
- All Android Studio Packages

Però anche scegliendo SDK Tools Only, avrei a che fare con un pacchetto tgz di circa 310 MB.
(http://dl.google.com/android/android-sd ... -linux.tgz)

Siamo sicuri che non sia possibile reperire l'eseguibile "adb" a partire da un download più contenuto?
Scusate la bassezza delle domande ma personalmente non ho idea di cosa sia tutta sta roba, ne SDK ne Android Studio ecc..

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Forse ho risolto prendendo un pacchetto deb dal ramo stabile. Sceglinendo il ramo stabile sebra che il pacchetto sia basato su librerie più vecchie (ad esempio libssl-1.0) coerenti con quelle che ho sulla mia vecchia slack 14.0.

https://packages.debian.org/wheezy-back ... b/download

Ho semplicemente provato a lanciare l'eseguibile e no sembra lamentare l'assemza di librerie...

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2792
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.8.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Compilare/Installare Android Tools

Messaggio da ponce »

Codice: Seleziona tutto

label_file.c:(.text+0x1b8): riferimento non definito a "pcre_free_study"
l'errore nel log che hai postato molto probabilmente vuol dire che hai delle librerie installate che linkano a una versione di pcre diversa da quella che hai installata sul sistema (se ce n'e' una sola): o hai qualche schifezza in /usr/local o hai installato dei pacchetti fatti per altre versioni di slackware/altre distribuzioni che contengono le librerie incriminate e quando il linker va a fare il suo lavoro trova delle funzioni di pcre che non gli tornano.
questo ti dara' problemi anche per la compilazione di altro software.

per completezza, ho provato a compilare gli android-tools ed e' andato tutto liscio.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Di solito quando installo dei pacchetti precompilati li prendo sempre da repo per slackware 14.0.
Spesso invece se il pacchetto lo costruisco in locale sfrutto slackbuilds scritti per versioni di slackware più recenti, qualche volta ho attinto anche da tuo repo disponibile via git. ;)
Questo però non dovrebbe portare al problema che indichi, perchè in fase di compilazione il tutto viene linkato a quello che c'è nel set di librerie installate e dovrebbe restare tutto coerente.

Questo è quello che faccio di solito, non è però detto che in almeno un'occasione abbia sgarrato da questa regola e che abbia sporcato il sistema.. tutto è possibile.

Vediamo questo pcre che pacchetto è e che versione:

Codice: Seleziona tutto

# ls /var/log/packages/|grep pcre
pcre-8.12-i486-1
allora... pcre è quello di default della 14.0:
http://slackware.muzzy.it/slackware-14. ... i486-1.txt

Cosa potrei aver installato che dipende da pcre? Sinceramente non saprei...

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Tornando alla via breve, in cui cioè prendo l'eseguibile "adb" dal pacchetto Debian... Bè neanche questa strada riesce al primo colpo:

Codice: Seleziona tutto

# ./usr/bin/adb shell netcfg usb0 dhcp
./usr/bin/adb: /lib/libcrypto.so.1.0.0: no version information available (required by ./usr/bin/adb)
Cosa esattamente significhi l'errore lo ignoro, però la libreria "libcrypto" farebbe parte del paccheto openssl.
Pacchetto che ho aggiornato nel tempo diverse volte ad ogni rilascio di patch da parte di Pat.
Attualmente ho installato la versione "1.0.1p":

Codice: Seleziona tutto

# ls /var/log/packages/|grep openssl
openssl-1.0.1p-i486-1_slack14.0
openssl-solibs-1.0.1p-i486-1_slack14.0
La libreria incriminata "libcrypto.so" è presente nei pacchetti di cui sopra:

Codice: Seleziona tutto

# grep libcrypto  /var/log/packages/openssl-*
/var/log/packages/openssl-1.0.1p-i486-1_slack14.0:lib/libcrypto.so.1.0.0
/var/log/packages/openssl-1.0.1p-i486-1_slack14.0:usr/lib/pkgconfig/libcrypto.pc
/var/log/packages/openssl-1.0.1p-i486-1_slack14.0:usr/lib/libcrypto.a
/var/log/packages/openssl-solibs-1.0.1p-i486-1_slack14.0:lib/libcrypto.so.1.0.0
/var/log/packages/openssl-solibs-1.0.1p-i486-1_slack14.0:lib/libcrypto.so.0.9.8

# ls -l /usr/lib/libcrypto* /lib/libcrypto*
lrwxrwxrwx 1 root root       18 lug 29 09:49 /lib/libcrypto.so.0 -> libcrypto.so.0.9.8*
-r-xr-xr-x 1 root root  1701829 lug  9 20:19 /lib/libcrypto.so.0.9.8*
lrwxrwxrwx 1 root root       18 lug 29 09:49 /lib/libcrypto.so.1 -> libcrypto.so.1.0.0*
-r-xr-xr-x 1 root root  1781620 lug  9 20:17 /lib/libcrypto.so.1.0.0*
-rw-r--r-- 1 root root  3171582 lug  9 20:17 /usr/lib/libcrypto.a
lrwxrwxrwx 1 root root       18 lug 29 09:49 /usr/lib/libcrypto.so -> libcrypto.so.1.0.0*
lrwxrwxrwx 1 root root       18 lug 29 09:49 /usr/lib/libcrypto.so.1 -> libcrypto.so.1.0.0*
lrwxrwxrwx 1 root root       28 lug 29 09:49 /usr/lib/libcrypto.so.1.0.0 -> ../../lib/libcrypto.so.1.0.0*
-rw-r--r-- 1 root root 15364160 mar 17  2014 /usr/lib/libcryptopp.a
-rwxr-xr-x 1 root root  4910748 mar 17  2014 /usr/lib/libcryptopp.so*
Se avete qualche idea per risolvere la faccenda sono tutt'orecchi! :D
Grazie delle risposte che avete proposto fin qui.

Avatar utente
conraid
Staff
Staff
Messaggi: 13526
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Compilare/Installare Android Tools

Messaggio da conraid »

Quel problema solitamente è dato per una versione diversa della libreria, anche se il numero del file .so coincide. Per esempio se compilato con 1.0.1b invece di 1.0.1c, tanto per fare un esempio, anche se la libreria è sempre so.1.0.0

Infatti software binari a volte hanno la libreria nel proprio pacchetto, tipo SpiderOak, zen-studio, tor-browser, etc... ed è il motivo per cui non sempre i software compilati in una distribuzione, o in versioni diverse della stessa distribuzione, vanno anche se il nome delle librerie coincide.
Io per un problema simile con un software diverso mi son preso la libreria e l'ho copiata nel suo path, in quel caso la subdit lib

ilmich
Master
Master
Messaggi: 1563
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 14.2 64bit
Kernel: 4.19.46
Desktop: dwm
Località: Roma

Re: Compilare/Installare Android Tools

Messaggio da ilmich »

allora, cioò che ti ho scritto nel mio precedente post è un po' inesatto perchè una volta scaricato l'sdk (che è quello che hai individuato anche tu da 300 e passa MB) bisogna comunque lanciare un tool che ti scarica tutto l'occorrente per iniziare a sviluppare con android (emulatori/librerie) e scarica anche i platform tools (che sono quelli che interessano a te).
Tieni presente che l'sdk ufficiale non compila nulla... ma usa pacchetti precompilati.
SOno andato un po' a spulciare nella rete e ho trovato questo link

http://stackoverflow.com/questions/2766713/android-download-the-android-sdk-components-for-offline-install

dove un utente posta le url che vengono usate dal suddetto tool per scaricare i vari componenti.
Visto che a te serve solo adb puoi scaricarti i precompilati da qui

https://dl-ssl.google.com/android/repository/platform-tools_r23.0.1-linux.zip (ho aggiornato la versione con quella che ho io)

esploderli e provare ad eseguirli.
ho visto cose che voi astemi non potete immaginare
https://github.com/ilmich

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

miklos ha scritto: https://dl-ssl.google.com/android/repository/platform-tools_r23.0.1-linux.zip (ho aggiornato la versione con quella che ho io)

esploderli e provare ad eseguirli.
Provo e faccio sapere grazie mille della disponibilità, mi leggerò anche gli altri links che hai messo...

conraid ha scritto:Quel problema solitamente è dato per una versione diversa della libreria, anche se il numero del file .so coincide. Per esempio se compilato con 1.0.1b invece di 1.0.1c, tanto per fare un esempio, anche se la libreria è sempre so.1.0.0

Infatti software binari a volte hanno la libreria nel proprio pacchetto, tipo SpiderOak, zen-studio, tor-browser, etc... ed è il motivo per cui non sempre i software compilati in una distribuzione, o in versioni diverse della stessa distribuzione, vanno anche se il nome delle librerie coincide.
Io per un problema simile con un software diverso mi son preso la libreria e l'ho copiata nel suo path, in quel caso la subdit lib
Ti ringrazio della spiegazione...
Fermo restando che prima proverò la soluzione di miklos che mi pare un po' più pulita, non appoggiandosi a pacchetti Debian compilati per sistemi diversi dal mio.
Mi interessa però una conferma, non vorrei aver capito male quanto hai spiegato... Riferiamoci all'esempio in oggetto:

Io ho un eseguibile, appunto "adb" che si basa tra le altre librerie, su libcrypto.so.
Dalla pagina del repo debian da dove l'ho preso dice che dipende da:

Codice: Seleziona tutto

dep: libssl1.0.0 (>= 1.0.0)
Collegandomi alla pagina dove sta quella libreria:
https://packages.debian.org/wheezy/libssl1.0.0

Ecco che si legge:

Codice: Seleziona tutto

Package: libssl1.0.0 (1.0.1e-2+deb7u17)
Librerie condivise SSL

Librerie condivise libssl e libcrypto richieste da programmi come apache-ssl, telnet-ssl e openssh.
In soldoni sulla mia slackware 14.0 ho libcrypto-1.0.1p, mentre l'eseguibile preso da debian si basa sulla versione libcrypto 1.0.1e (quindi precedente alla mia).
Questa differenza di versione se ho capito bene viene rilevata, nonostante il nome della libreria installata sia sempre "libcrypto.so.1.0.0".
Quindi tu dici, soluzione:

prendi libcrypto e libssl della versione di debian: cioè 1.0.1e li copi in "/lib" e tutto dovrebbe funzionare?

Ho capito bene?
intanto una prova la faccio...
se poi mi dai una conferma mi togli una curiosità. Grazie :)

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3288
Iscritto il: ven 27 apr 2007, 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Compilare/Installare Android Tools

Messaggio da joe »

Alla fine ho fatto il contrario di quanto avevo detto: ho provato prima a prendere la libreria libcrypto di debian e l'ho copiata in /lib.
Quel percordo di destinazione sembra sia necessario, proprio perchè l'eseguibile adb si aspetta la libcrypto in quella posizione.
Il problema è che in /lib c'era già la mia originale libcrypto che si chiama allo stesso modo: /lib/libcrypto.so.1.0.0.
E quella lì serve per un sacco di altre cose installate, openssl in primis penso...

Ad ogni modo ho rinominamto in ".orig" la libereria di sistema e vi ho copiato la libreria di debian.
Bè l'errore di prima è sparito.
Quindi il ragionamento circa il linking dell'eseguibile a librerie diverse seppur nominate identicamente è dimostrato direi.

Ovviamente in questo caso, la mia prova non può essere una soluzione stabile, ma solo una prova al volo.
Come si potrebbe risolvere vista la presenta già di libcrypto di sistema?

Nel frattempo vedrò se anche la soluzione di miklos funziona.

Aggiungo che dopo aver applicato i passi della guida, cioè creando il bridge tra le due interfaccie (la mia interfaccia su rete mobile: wwan0 e l'interfaccia usb0 relativa al cellulare), ecco che al lancio di adb ho:

Codice: Seleziona tutto

./adb shell netcfg usb0 dhcp
error: device not found
Quindi per il momento nulla di funzionante...
Sul telefono avevo attivato il tethering USB e sul sistema è apparsa l'interfaccia usb0.

Bo, vediamo se cambia qualcosa usando l'eseguibile precompilato preso direttamente dal zip di platform-tools

Rispondi