Форум программистов, компьютерный форум CyberForum.ru

Что такое инсталяция пакета в андроиде? - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
22.03.2014, 18:53     Что такое инсталяция пакета в андроиде? #1
Кто-нибудь находил инфу о том что такое инсталяция пакета в андроиде?
После винды привык, что инсталяция - это в первую очередь РАСПАКОВКА архива (apk).

Андроид распаковывает куда-нибудь пакеты? Могу ли я на это посмотреть если у меня ROOT?

Инсталяция обычно длится долго - несколько секунд. Не похоже что это просто "скопировали в админскую зону и запустили скрипт начальный настроек" или это все-таки так? Или каждый раз запуская прогу я распаковываю архив apk?

Знаю что через тотал-коммандер могу все проинсталированые пакеты "скопировать" из андроида на Windows. Испортится только название apk - заменится на название класса ("com.mygame"). Но может есть где-нибудь и уже распакованые классы и ресурсы??? Можно ли их подменить прямо в ядре???

Мечтаю:
Подмена xml формы с новыми цветами/размерами займут милисекунды, а полная переустановка минимум 5 секунд... Перекомпиляция не нужна - просто переправить на клиента, подменить и перезапустить активити... Пол секунды вместо 20-30... И уже видно что поменялось...
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.03.2014, 05:45  [ТС]     Что такое инсталяция пакета в андроиде? #2
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
25.03.2014, 16:25     Что такое инсталяция пакета в андроиде? #3
Вряд ли ты сможешь это сделать, http://joxi.ru/k3UxUxjKTJAZNoB-ERY
dmitre
 Аватар для dmitre
10 / 10 / 3
Регистрация: 02.11.2013
Сообщений: 53
25.03.2014, 16:57     Что такое инсталяция пакета в андроиде? #4
Щас распаковал apk файл через 7zip, там структура следующая:

applicationname.apk
- assets\
- META-INF\
- res\
- resources.arsc
- classes.dex
- AndroidManifest.xml

в директории res хранится тоже самое, что и в проекте (drawable, layout и т.д.).
Думается мне, если "войти" в apk файл как в архив, то подменить xml файлы есть возможность.

Попробуй создать простой проект (хеллоу ворд какой-нибудь, скомпилировать, затем а apk файле поменять что-нибудь, закинуть на девайс и посмотреть отличается ли от того, что было создано в среде).
Ybrjk
26 / 26 / 2
Регистрация: 06.11.2010
Сообщений: 77
25.03.2014, 17:10     Что такое инсталяция пакета в андроиде? #5
Цитата Сообщение от dmitre Посмотреть сообщение
Думается мне, если "войти" в apk файл как в архив, то подменить xml файлы есть возможность.
Ничего из этого не выйдет http://developer.android.com/tools/building/index.html
dmitre
 Аватар для dmitre
10 / 10 / 3
Регистрация: 02.11.2013
Сообщений: 53
25.03.2014, 17:43     Что такое инсталяция пакета в андроиде? #6
Цитата Сообщение от Ybrjk Посмотреть сообщение
Ничего из этого не выйдет http://developer.android.com/tools/building/index.html
Тончо, в папке res они бинарные лежат.. ну лан
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
25.03.2014, 20:59  [ТС]     Что такое инсталяция пакета в андроиде? #7
Цитата Сообщение от dmitre Посмотреть сообщение
Думается мне, если "войти" в apk файл как в архив, то подменить xml файлы есть возможность
Вопрос был не об этом! Каждый раз когда андроид ЗАПУСКАЕТ проект (нажатие на ярлык на рабочем столе), весь APK загружается в память? Его каждый раз распаковывают (это же долго!) или он уже где-то в папках андроида лежит распакованым? И можно подменить файлы в этих "распакованых" папках? Что такое УСТАНОВКА на андроид? Неужели только перекладывание в системные папки архива APK? Или все-таки распаковка? На картинках лишь "как создать APK", а что с ним дальше делает система? После запуска?

Добавлено через 2 минуты
Можно ли подменить хакерски какой-нибудь ресурс(или JAR или CLASS) из APK просто положив его в какую-то системную папку? Не перекомпилируя, переупаковывая и переустановки APK-файла?
Netscape
 Аватар для Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
26.03.2014, 01:42     Что такое инсталяция пакета в андроиде? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Tester64 Посмотреть сообщение
Каждый раз когда андроид ЗАПУСКАЕТ проект (нажатие на ярлык на рабочем столе), весь APK загружается в память? Его каждый раз распаковывают (это же долго!) или он уже где-то в папках андроида лежит распакованым?
Лежит, только распакованным он тебе не понравится: /data/dalvik-cache
Цитата Сообщение от Tester64 Посмотреть сообщение
Что такое УСТАНОВКА на андроид? Неужели только перекладывание в системные папки архива APK?
Да, только "перекладывание".
Цитата Сообщение от Tester64 Посмотреть сообщение
Или все-таки распаковка?
Тут в дело вступает JIT(c 4.4 опционально ART).
Цитата Сообщение от Tester64 Посмотреть сообщение
На картинках лишь "как создать APK", а что с ним дальше делает система? После запуска?
Форкает процесс zygote в котором загружается и исполняется приложение.
Цитата Сообщение от Tester64 Посмотреть сообщение
Можно ли подменить хакерски какой-нибудь ресурс(или JAR или CLASS) из APK просто положив его в какую-то системную папку? Не перекомпилируя, переупаковывая и переустановки APK-файла?
Сомнительно, для файлов считается хеш, если он не совпадет адроид может просто послать.

Не истина в последней инстанции, могу ошибаться.

Чтиво по теме:
http://en.wikipedia.org/wiki/Just-in-time_compilation
http://en.wikipedia.org/wiki/Dalvik_%28software%29
http://stackoverflow.com/questions/7...d-dalvik-cache
http://dl.google.com/googleio/2010/a...-dalvik-vm.pdf
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 08:17     Что такое инсталяция пакета в андроиде?
Еще ссылки по теме:

Что такое ems в editText? Android
Android Что такое setWakeMode
Что такое system_process Android
Android Что такое Maven?
Android Что такое хэширование?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,488
26.03.2014, 08:17  [ТС]     Что такое инсталяция пакета в андроиде? #9
Понятно! Предполагал подобное, но надежда была... Жаль! А была бы такая шикарная оптимизация для ускорения разработки... Пока что остается только написать свой скриптовый язык для подобных целей, но это крайне длительный процесс...
Спасибо за статьи!
Yandex
Объявления
26.03.2014, 08:17     Что такое инсталяция пакета в андроиде?
Ответ Создать тему
Опции темы

Текущее время: 06:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru