Proguard offusca le directory, quindi se siete alla ricerca di android_res/grezzo è probabilmente non è più chiamato così!
È possibile aggiungere regole al file proguard.cfg nel progetto in modo che salti determinati file. Ma in questo caso, lo spostamento della risorsa non elaborata nella cartella delle risorse farà la differenza.
Il problema è che il FileLoader Webkit tenterà di caricare la classe R $ drawable utilizzando il reflection. Se non si aggiunge nessuna regola di mantenimento al file proguard.cfg, tale classe verrà rinominata, quindi Webkit non sarà in grado di caricare la risorsa. (Tratto da Prevent Proguard to remove specific drawables).
Questo è il motivo per cui Android utilizza il sistema di denominazione della classe R per le risorse - un'uniquie ricerca id invece che fare riferimento i file dalla loro posizione
Inserendo il file nel patrimonio cartella sono bypassando il sistema di classe R Informazioni e tutto dovrebbe funzionare bene.
si dovrebbe spostare il file nella cartella website.html beni e chiamare:
mv.loadUrl("file:///android_asset/wesite.html");
Come suggerito al link qui sopra, dovrebbe essere possibile per aggiungere la regola di seguito al file Proguard.cfg a fermare la posizione delle risorse in fase di obfucated invece:
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep class **.R$*
Bare in mente l'offuscamento funziona il modo in cui funziona per una ragione!
Spero che questo aiuti
fonte
2012-08-24 15:31:15
Quanto sopra funziona per Proguard.cnf e sposta il sito Web nella cartella delle risorse. Comunque il codice dovrebbe essere, 'mv.loadUrl (" file: ///android_asset/wesite.html ");' ** Nota: ** 'android_asset' not' android_assets'. Grazie per la tua spiegazione. – Ne0
Non è necessario mantenere tutte le classi R e i relativi campi, dovrebbe essere possibile selezionare i nomi di alcune risorse che si desidera conservare e lasciare che il resto (ad esempio layout | xml | valori) venga offuscato. – TWiStErRob