Ответ 1
Я переместил изображения в папку "assets", которая решила мою проблему:
<img src="file:///android_asset/myfriend.png">
В моем проекте Android у меня есть некоторые изображения, хранящиеся в res/drawable/которые доступны только из HTML файла, загруженного в Webview. Например (код в HTML):
<img src="file:///android_res/drawable/myfriend.png">
Эти изображения удаляются Proguard из apk во время оптимизации.
Кто-нибудь знает способ сохранить эти файлы (даже если они не используются непосредственно в Java-коде)?
Я переместил изображения в папку "assets", которая решила мою проблему:
<img src="file:///android_asset/myfriend.png">
У меня была аналогичная проблема, и мне хотелось добавить только несколько бит.
Ресурсы НЕ удаляются ProGuard. Если вы просто разархивируете свой apk, вы увидите, что файлы изображений все еще существуют.
Проблема заключается в том, что Webkit FileLoader попытается загрузить ваш класс R $drawable, используя отражение. Если вы не добавите в файл proguard.cfg правило keep, этот класс будет переименован, поэтому Webkit не сможет загрузить ваш ресурс.
Поместив файл в папку с ресурсами, вы обходите систему класса R, и все будет работать.
Это не решение, хотя, например, если вы хотите использовать разные ресурсы для разных плотностей.
Я предлагаю вам просто добавить очень основное правило keep для сохранения R внутренних классов и полей:
-keepclassmembers class **.R$* {
public static <fields>;
}
-keep class **.R$*