2013-06-26 12 views
11

Sto cercando di implementare il supporto di icon pack nella mia applicazione in modo che gli stessi pacchetti di icone che funzionano con Apex, Nova, ADW, ecc. Funzioneranno anche con la mia applicazione. Utilizzando questo codice, per trovare il file appfilter XML e quindi analizzarlo per ottenere i nomi disegnabili, sono stato in grado di ottenere questo lavoro con temi gratuiti:Android - Implementazione del supporto del pacchetto di icone

Context context = createPackageContext(packageName, Context.CONTEXT_IGNORE_SECURITY); 
       Resources res = context.getResources(); 
       String str = ""; 
       res.getAssets().list(str); 

Tuttavia, con pacchetti di icone a pagamento questo non lo fa lavoro. Le risorse restituite sono 0. Credo che ciò sia dovuto al blocco in avanti presente sulle app a pagamento su JB + che rende le risorse private. (Delineato qui: Accessing assets of other Android app on Jelly Bean)

Non sono stato in grado di trovare alcuna informazione su come supportare un pacchetto di icone e decompilare un apk icon pack Non vedo alcun provider di contenuti quindi posso solo presumere che queste applicazioni di avvio stiano utilizzando un metodo simile al mio per recuperare le risorse.

Qualcuno è in grado di fornirmi informazioni su come ciò può essere fatto o indicarmi la giusta direzione?

+0

Sto affrontando lo stesso problema. Capisco che il recupero dell'icona coinvolga il file "appfilter.xml", ma non so come farlo funzionare. –

risposta

1

Non una fonte ufficiale, ma il Apex Launcher Theme Tutorial note

Quindi, aprire il file appfilter.xml nella directory res/xml. (Nota: Questo file utilizzato per essere situato nella directory beni, ma la nuova funzionalità di crittografia applicazione in Jellybean ha reso impossibile per il motore di tema per le attività di accesso dei temi pagati.)

in modo che appaia come se non v'è nessun fornitore di contenuti speciali utilizzato - il meccanismo deve semplicemente essere adattato per funzionare con il meccanismo di sicurezza introdotto su Jelly Bean.