Autore Topic: Importazione di un progetto esistente e com.android.internal  (Letto 943 volte)

Offline MarKco

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy ACE GT-S5830
  • Sistema operativo:
    Mac OS X 10.6
Importazione di un progetto esistente e com.android.internal
« il: 20 Settembre 2011, 01:20:15 CEST »
0
Ciao a tutti,
mi chiamo Marco e sono un nuovo utente del forum, nonché da poco sviluppatore Android.  :-)
Il problema che vorrei esporvi è probabilmente semplice per qualcuno che abbia già esperienza in questo mondo: mi trovo a mettere mano ad un progetto già esistente, nel quale vengono importate delle librerie del tipo com.android.internal.* Stando a quanto ho letto in giro tali librerie non dovrebbero essere utilizzate in un'app destinata al mercato consumer, in quanto si tratta di primitive che vengono esposte a livello di sistema operativo. Vorrei però riuscire comunque ad avviare il progetto per capire come chi se n'è occupato prima di me ha organizzato il tutto.

Documentandomi mi è parso di capire che l'unico modo per importare con successo le librerie di quel tipo è compilare Android dai sorgenti. Ho quindi scaricato i sorgenti di Android tramite GIT e ho - credo con successo - compilato quanto scaricato seguendo questa guida --> Initializing a Build Environment | Android Open Source

Una volta arrivato alla parte "build --> run" della guida però mi sono incartato. Sto sviluppando su un MAC, ho già le SDK installate e quindi se da terminale lancio l'emulatore il PATH va a pescare di default quello delle SDK già installate. Per contro non sono riuscito a trovare il file binario eseguibile dell'emulatore Android nelle sottocartelle dove ho scaricato e compilato i sorgenti...

A questo punto i problemi che ho sono due:
- come posso importare con successo com.android.internal ? E' corretto cercare di compilare i sorgenti?
- Se è corretto passare per la compilazione dei sorgenti scaricati tramite GIT, dove posso trovare l'emulatore nell'albero delle cartelle?

Grazie mille per l'aiuto

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Importazione di un progetto esistente e com.android.internal
« Risposta #1 il: 20 Settembre 2011, 18:07:15 CEST »
0
Hai provato ad invocare i metodi delle classi internal che ti servono tramite reflection?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Importazione di un progetto esistente e com.android.internal
« Risposta #2 il: 21 Settembre 2011, 00:11:03 CEST »
0
Una volta arrivato alla parte "build --> run" della guida però mi sono incartato. Sto sviluppando su un MAC, ho già le SDK installate e quindi se da terminale lancio l'emulatore il PATH va a pescare di default quello delle SDK già installate.

Hai Snow Leopard o Lion?
Sembrerebbe che Lion abbia qualche problemino a compilare Android per via di alcune incompatibilità, devi fare alcune modifiche per farlo andare... io non ci sono riuscito :(

Comunque, sei riuscito a scaricare il sorgente? Non è più down il repository?

Offline MarKco

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy ACE GT-S5830
  • Sistema operativo:
    Mac OS X 10.6
Re:Importazione di un progetto esistente e com.android.internal
« Risposta #3 il: 21 Settembre 2011, 15:17:38 CEST »
0
Hai provato ad invocare i metodi delle classi internal che ti servono tramite reflection?

Ciao Marco,
grazie per l'idea. Ho guardato un po' Reflection ma ammetto di non essere riuscito bene a capire in che modo mi potrebbe aiutare. Per fortuna sono comunque riuscito a risolvere il problema in modo semplice: scartabellando tra le cartelle ho trovato un albero nel quale lo sviluppatore che si era occupato del progetto aveva inserito parte del codice android, esattamente i package di com.android.internal che servono nel progetto stesso. Importando quelle cartelle ho risolto tutti i miei problemi di dipendenze.

Quello che spero, a questo punto, è che in futuro l'utilizzo di queste librerie "statiche" al posto di quelle che verranno fornite dalla versione di Android attiva sui devices non vada a creare problemi...

Grazie a tutti per l'aiuto

Offline MarKco

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy ACE GT-S5830
  • Sistema operativo:
    Mac OS X 10.6
Re:Importazione di un progetto esistente e com.android.internal
« Risposta #4 il: 21 Settembre 2011, 15:18:44 CEST »
0
Hai Snow Leopard o Lion?
Sembrerebbe che Lion abbia qualche problemino a compilare Android per via di alcune incompatibilità, devi fare alcune modifiche per farlo andare... io non ci sono riuscito :(

Comunque, sei riuscito a scaricare il sorgente? Non è più down il repository?

Ciao Ricky,
ho Snow Leopard, ed in effetti ho avuto qualche problemino nella compilazione. Ora ho lasciato la cosa da parte, dato che con il workaround di cui parlo nella risposta sopra ho risolto il problema ed ora avvio il progetto usando le GTK normali senza bisogno del codice sorgente.

Grazie comunque dell'aiuto, ciao