Загрузка контекста из файла APK в Android - PullRequest
7 голосов
/ 09 июня 2011

Я создаю компонентное приложение для Android. Короче говоря, я хотел бы загрузить файл APK во время выполнения и выполнить код из него.

Я успешно использовал DexClassLoader для загрузки и создания экземпляров некоторых классов, проблема заключается в чтении ресурсов APK.

Я хотел бы создать пользовательский объект Context, который я мог бы использовать для загрузки этих ресурсов (например, с экземпляром LayoutInflater), аналогично createPackageContext(), который не работает для моего приложения, поскольку он только просматривая установленные пакеты.

1 Ответ

1 голос
/ 31 декабря 2012
            InputStream in = getResources()
                .openRawResource(R.raw.fileName);

тогда просто читайте из этого потока. Этот пример откроет res / raw / fileName.html для чтения. Однако я не понимаю, почему загружать классы для выполнения из вашего собственного apk-файла таким проблематичным способом. Если я неправильно понимаю, и вам нужно загрузить из какого-либо другого файла АПК, то - кто мешает открыть этот файл для ввода и чтения из него? Это просто ZIP архив с компрессами. Я думаю, что вы могли бы создать свою реализацию, переопределяя методы доступа к данным, и ваш экземпляр мог бы содержать ссылку на файл, откуда читать данные.

...