Autore Topic: Aggiungere activity dinamicamente  (Letto 798 volte)

Offline dAn89

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
    • WhiteHole - Soluzioni Informatiche
  • Sistema operativo:
    OS X
Aggiungere activity dinamicamente
« il: 14 Maggio 2013, 12:43:11 CEST »
0
Raga esiste un qualsiasi modo per modificare il manifest a runtime e aggiungere activity? Ho letto che si potrebbe fare con apktool decomprimendo e ricomprimendo l'apk ma
Non ho ben capito come fare.. Avete suggerimenti in generale?

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Aggiungere activity dinamicamente
« Risposta #1 il: 14 Maggio 2013, 15:57:54 CEST »
0
Iniziamo con una domanda: a che ti serve aggiungere una Activity a runtime?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline dAn89

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
    • WhiteHole - Soluzioni Informatiche
  • Sistema operativo:
    OS X
Re:Aggiungere activity dinamicamente
« Risposta #2 il: 14 Maggio 2013, 17:42:13 CEST »
0
Devo poter far aggiungere funzionalità ad un'app tramite il compilare ed eseguire nuove activity.. Ad esempio fare un'activity con un toast.. La parte della compilazione l ho fatta , ora mi manca capire come far partire l'activity non potendo modificare a mano il manifest..

Offline NanoAndroide

  • Utente junior
  • **
  • Post: 63
  • Respect: +3
    • Google+
    • Mostra profilo
    • MeToo
  • Dispositivo Android:
    GT-S5570
  • Play Store ID:
    MeToo
  • Sistema operativo:
    Windows 7
Re:Aggiungere activity dinamicamente
« Risposta #3 il: 15 Maggio 2013, 13:17:52 CEST »
0
Devo poter far aggiungere funzionalità ad un'app tramite il compilare ed eseguire nuove activity.. Ad esempio fare un'activity con un toast.. La parte della compilazione l ho fatta , ora mi manca capire come far partire l'activity non potendo modificare a mano il manifest..

Se ho ben capito, vuoi poter gestire dei 'plugin' per la tua app... A mio avviso, aggiungere delle Activity è l'approccio sbagliato: dovresti usare un'Activity già registrata nel manifest che all'avvio carichi le funzionalità che servono. Oltretutto, un'applicazione che modifica se stessa potrebbe essere fraintesa da un eventuale antivirus...  ;-)

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Aggiungere activity dinamicamente
« Risposta #4 il: 15 Maggio 2013, 14:09:51 CEST »
0
I file presenti del parchetto apk sono immutabili, non sono modificabili via software.

Quello che vuoi fare non è facile, qui è spigato come:

http://android-developers.blogspot.it/2011/07/custom-class-loading-in-dalvik.html
http://code.google.com/p/android-custom-class-loading-sample/

richiede una certa conoscenza su come funziona internamente la VM di Android e il tool del JDK. Non puoi usare Eclipse per compilare, ADT non ha la configurazione sui passaggi di compilazione ma devi usare alti software come Ant.
adb logcat | tee /tmp/logcat | grep TAG

Offline dAn89

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
    • WhiteHole - Soluzioni Informatiche
  • Sistema operativo:
    OS X
Re:Aggiungere activity dinamicamente
« Risposta #5 il: 15 Maggio 2013, 14:46:37 CEST »
0
I file presenti del parchetto apk sono immutabili, non sono modificabili via software.

Quello che vuoi fare non è facile, qui è spigato come:

http://android-developers.blogspot.it/2011/07/custom-class-loading-in-dalvik.html
http://code.google.com/p/android-custom-class-loading-sample/

richiede una certa conoscenza su come funziona internamente la VM di Android e il tool del JDK. Non puoi usare Eclipse per compilare, ADT non ha la configurazione sui passaggi di compilazione ma devi usare alti software come Ant.

Per compilare e caricare nuove classi ho già risolto con jdt compiler e dexclassloader.. il problema è quando voglio caricare nuove activity che non sono state registrate nel manifest poichè aggiunte dinamicamente, giustamente mi dice che dovrei prima registrarla. Il punto è che sto cercando qualcosa che sia in grado di bypassare il manifest o per lo meno modificarlo a runtime per far si che l'activity nuova aggiunta dinamicamente e compilata possa partire.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Aggiungere activity dinamicamente
« Risposta #6 il: 15 Maggio 2013, 15:15:10 CEST »
0
non ti conviene fare un'activity con tutte le feature che attivi in base ai dati che riceve?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Aggiungere activity dinamicamente
« Risposta #7 il: 15 Maggio 2013, 15:24:25 CEST »
0
Beh, il manifest é fatto per non essere bypassato. Altrimenti che senso ha tutto il sistema di permessi?
Postate il LogCat LogCat LogCat LogCat LogCat