Вниз  J2me Loader
- 4.01.2014 / 22:38
Naik
  Пользователь

Naik 
Сейчас: Offline
PLUTONiUM, Потому что это исключение, в андроиде другие механизмы работы с внутренними файлами., да и если бы работало, мне ведь ресурс нужно брать не из apk эмулятора, а из внешнего jar, поетому в микроемуляторе тоже заменяется этот метод, осталось разобраться как.

Изменено Naik (4.01 / 22:41) (всего 1 раз)
- 4.01.2014 / 22:39
HoldFast
  Пользователь

HoldFast 
Сейчас: Offline
Naik (04.01.2014/22:38)PLUTONiUM, Потому что это исключение, в андроиде другие механизмы работы с внутренними файлами.Кстати говоря, если не сложно, можно про это поподробнее?
__________________
 Да, детка, я - Король Ящериц!!!
- 4.01.2014 / 22:40
PLUTONiUM
  Пользователь

PLUTONiUM 
Сейчас: Offline
Naik, а с другими классами из пакета java.* таких проблем нет?
- 4.01.2014 / 22:46
Naik
  Пользователь

Naik 
Сейчас: Offline
HoldFast, Тут обширная тема, если по простому, то ложишь файлы, папки, в папку assets проекта., и
myContext.getAssets().open("file") возвращает InputStream, также можно получить список файлов методом list("dir").

Еще ресурсы можно хранить в папке raw — я не пробовал, картинки в res/drawable/.
- 4.01.2014 / 22:46
Salat-Cx65
  Пользователь

Salat-Cx65 
Сейчас: Offline
Хм, я тут краем глаза тему почитал. Говорите getClass().getResourcesAsStream(...). Не воркает так как надо ресурс с яра из фс читать. Про new File(our_jar) -> new FileInputStream() -> new ZipInputStream() (ну это образно, там чуть иначе) и потом по ентити находим наш ресурс -> возвращаем стрим ресурса. Сильно не бить если уже было или сами в курсе, всю тему не перечесть :)
- 4.01.2014 / 23:00
Naik
  Пользователь

Naik 
Сейчас: Offline
Salat-Cx65, Нужно заменить метод получения файла в class файлах или dex, который загружается через DexClassLoader
- 5.01.2014 / 02:07
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
в dx можно заменить, но я еще пока не могу точно удостоверится, что я нашел то что надо, пока могу сказать, что в исходниках dx есть класс Ropper в этом классе есть метод doit() и еще какой-то(вызывается с doit()) вот в них запутался, на них я вышел из класса CfTranslate. можно еще посмотреть в Rop, но там сложнее

для .dex будет пожалуй быстрее
__________________
 знает толк
- 5.01.2014 / 09:13
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Naik, Да попробуй ты написать это дело с моим последним классом! PPM запустится, будь уверен. Да и если не запустится, то стоит дописать пару строк в классе модификации байткода и все запашет. Кстати работать с зип проще пареной репы, не знаю какие там ты себесложности придумал.

Изменено kiriman (5.01 / 09:15) (всего 2 раза)
- 5.01.2014 / 12:29
kiriman
  Пользователь

kiriman 
Сейчас: Offline
Naik, Вот моя либа на данный момент, точно работает с getClass().getResourceAsStream(...)
http://pastebin.com/vGct6SeP
Использовать так:

  1. byte[] new_class = Modify.modifyClass(new FileInputStream("Main.class"), "AndroidLoader");
  2. if (new_class != null) {
  3. // Успешно
  4. } else {
  5. // Класс не нуждается в изменении
  6. }


Изменено kiriman (5.01 / 12:39) (всего 2 раза)
- 5.01.2014 / 14:27
Naik
  Пользователь

Naik 
Сейчас: Offline
kiriman (05.01.2014/09:13)Naik, Да попробуй ты написать это дело с моим последним классом! PPM запустится, будь уверен. Да и если не запустится, то стоит дописать пару строк в классе модификации байткода и все запашет. Кстатита мне несложно с зип, все уже сделано, просто телодвижений много. Попробую твою либу, но позже, сейчас игру нужно доделывать
Наверх  Всего сообщений: 224
Фильтровать сообщения
Поиск по теме
Файлы топика (23)