Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
#1

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

22.03.2014, 18:53. Просмотров 1128. Ответов 8
Метки нет (Все метки)

Кто-нибудь находил инфу о том что такое инсталяция пакета в андроиде?
После винды привык, что инсталяция - это в первую очередь РАСПАКОВКА архива (apk).

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

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

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

Мечтаю:
Подмена xml формы с новыми цветами/размерами займут милисекунды, а полная переустановка минимум 5 секунд... Перекомпиляция не нужна - просто переправить на клиента, подменить и перезапустить активити... Пол секунды вместо 20-30... И уже видно что поменялось...
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2014, 18:53
Ответы с готовыми решениями:

Начинающие на Андроиде, что почитать? Марио Цехнер подойдет?
Привет! Заканчиваю второй том Хорстмана, хочу приблизиться к разработке игр на...

Новичёк в андроиде (в курсе что такие темы уже есть)
Знаю что тем существует много (большинство из них перелистал, остались вопросы)...

Что такое хэширование?
Можете обьяснить что такое хэширование как это понимать??Я в википедии читал...

Что такое flattenToShortString()
Что такое flattenToShortString() и flattenToString(). Расплющить в строку?...

Что такое system_process
В Android Studio в отладке есть выбор запущенных пакетов + system_process - что...

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

Добавлено через 2 минуты
Можно ли подменить хакерски какой-нибудь ресурс(или JAR или CLASS) из APK просто положив его в какую-то системную папку? Не перекомпилируя, переупаковывая и переустановки APK-файла?
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
26.03.2014, 01:42 #8
Лучший ответ Сообщение было отмечено Tester64 как решение

Решение

Цитата Сообщение от 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
2
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
26.03.2014, 08:17  [ТС] #9
Понятно! Предполагал подобное, но надежда была... Жаль! А была бы такая шикарная оптимизация для ускорения разработки... Пока что остается только написать свой скриптовый язык для подобных целей, но это крайне длительный процесс...
Спасибо за статьи!
0
26.03.2014, 08:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2014, 08:17

Что такое Maven?
В уроке 161 startandroid есть такое замечание для тех, кто хочет протестировать...

Что такое setWakeMode
Вот что написано про это на startandroid: Метод setWakeMode позволяет ставить...

Что такое Jsoup?
JSOUP это тоже самое что JSON в андроид?? JSOUP чем отличается от JSON??


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru