Есть JAR библиотека, которую мне нужно встроить в своё приложение.
Загвостка в том, что она идёт со своими файлами в res/, а мне по техническим причинам нельзя изменять эту директорию, но у меня есть полный доступ к assets/.
В res/ находятся различные картинки разных разрешений, layouts, файл шрифта, файл звука и просто локализованные строки в xml.
Библиотека легко декомпилировалась и внутри неё нашёл следующий класс.
package com.purplebrain.giftiz.sdk.util;
import android.content.Context;
import android.content.res.Resources;
public class GDKId
{
public static int getId(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "id", paramContext.getPackageName());
}
public static int getString(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "string", paramContext.getPackageName());
}
public static int getLayout(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "layout", paramContext.getPackageName());
}
public static int getAnim(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "anim", paramContext.getPackageName());
}
public static int getRaw(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "raw", paramContext.getPackageName());
}
public static int getDrawable(String paramString, Context paramContext)
{
return paramContext.getResources().getIdentifier(paramString, "drawable", paramContext.getPackageName());
}
}
Похоже он отвечает за загрузку всех ресурсов.
Как его модифицировать так, чтобы вместо res/ он использовал, скажем, assets/res/ ?
Или другой вариант - сконвертировать все файлы в base64 и хранить как строки прямо внутри .java файлов. Если это легче, то тоже можно.
C Java мне раньше не приходилось сталкиваться.
UPD Понял, что этот класс всего лишь возвращает ID ресурсов, а не сами ресурсы, но вопрос остаётся в силе, как обойтись без res/ директории?