--------
Ребят, крайне тупой вопрос, заранее извиняюсь. Везде в доках, во всех статьях пишут activity/fragment lifecycle callbacks. Но разве это колбеки? Колбек - это же метод обратного вызова, т.е, как я вижу - прокидывается интерфейс и вызывается в каком-либо месте. Но разве тот же самый onCreate это колбек? В нем же даже есть вызов метода родительского класса (при помощи super), чего в колбеке в принципе быть не может. Рассудите, в чем я прав, в чем нет, а то мб я вообще ничего не понимаю и Миша всё херня, давай по новой.
Mike
Ребят, крайне тупой вопрос, заранее извиняюсь. Везде в доках, во всех статьях пишут activity/fragment lifecycle callbacks. Но разве это колбеки? Колбек - это же метод обратного вызова, т.е, как я вижу - прокидывается интерфейс и вызывается в каком-либо месте. Но разве тот же самый onCreate это колбек? В нем же даже есть вызов метода родительского класса (при помощи super), чего в колбеке в принципе быть не может. Рассудите, в чем я прав, в чем нет, а то мб я вообще ничего не понимаю и Миша всё херня, давай по новой.
коллбэк — это код, который ты передаёшь куда-то в библиотеку/фреймворк, чтобы тебе его вызвали. Всё
--------
Vitalii
Ребят, крайне тупой вопрос, заранее извиняюсь. Везде в доках, во всех статьях пишут activity/fragment lifecycle callbacks. Но разве это колбеки? Колбек - это же метод обратного вызова, т.е, как я вижу - прокидывается интерфейс и вызывается в каком-либо месте. Но разве тот же самый onCreate это колбек? В нем же даже есть вызов метода родительского класса (при помощи super), чего в колбеке в принципе быть не может. Рассудите, в чем я прав, в чем нет, а то мб я вообще ничего не понимаю и Миша всё херня, давай по новой.
>> чего в колбеке в принципе быть не может.
Может. Просто мы явным образом не передаём активити, нам всё система магически предоставляет.
Ты же явно не вызываешь onCreate у активити, например? Фреймворк извне его вызывает. Обратный вызов.
Mikhail
Ребят, крайне тупой вопрос, заранее извиняюсь. Везде в доках, во всех статьях пишут activity/fragment lifecycle callbacks. Но разве это колбеки? Колбек - это же метод обратного вызова, т.е, как я вижу - прокидывается интерфейс и вызывается в каком-либо месте. Но разве тот же самый onCreate это колбек? В нем же даже есть вызов метода родительского класса (при помощи super), чего в колбеке в принципе быть не может. Рассудите, в чем я прав, в чем нет, а то мб я вообще ничего не понимаю и Миша всё херня, давай по новой.
А super нужен если нужно перегрузить стандартный метод или вообще его не вызывать в стеке колбеков
Mike
Mikhail
:/
central
Mikhail
Лучше подскажите - есть ли узкопрофильных чатик по беспроводным сетям в Андроиде (в частности вайфай).
Хочу разобраться с p2p и некоторыми другими вещами, но спросить негде
Mikhail
//вспомнил как одно время имя приложения на самом деле было именем первого активити. Не знаю как сейчас
Mike
Исходники!
central
central
Mikhail
Исходники!
Ты не поверишь... Но Android API на реальных устройствах отличается от референсного
Mikhail
*может отличаться
central
да вот на неё и смотрю, бред какой-то
Чел не знает что такое super я сказал что ответ в доках сказал что нет я ему кинул название доки в которой максимально полная инфа по джава, что тут не логичного?
--------
Anonymous
Всем привет, уместно ли тут будет задать конкретный вопрос касательно простых операций с внесением изменений в AOSP?
Vitalii
Уместно
Mikhail
Так по WiFi можно где-то почитать? На уровне недокументированого API / драйверов.
Суть в чем - я хочу вручную послать через WiFi пакет без сопряжение с конкретным устройством. Что-то вроде echo. Но стандартное API Android требует обязательного сопряжения. Даже в p2p сети. Нельзя просто так взять и послать произвольный пакет "в никуда".
Anonymous
Спасибо, тогда сейчас опишу задачу и отправлю
Arsen
Mikhail
Arsen
копни в NDK
Vitalii
Mikhail
Когда-то давно нагуглил WiFi Aware, но тогда оно была лишь на уровне неутвержденных спецификаций, без какого либо конкретных описаний и документации. Но по тому что было описано - как раз то что нужно. Вещание информации устройствам поблизости без сопряжения.
Хз что с ним сейчас, но в новостях ничего не попадалось.
//Кстати, я тогда даже писал в консорциум/альянс который утверждает стандарты, но естественно меня просто проигнорировали. Даже сгенерированным письмом не ответили.
Anonymous
Всем привет, я пытаюсь постепенно избавиться от встроенных в AOSP приложений по типу календаря и т.п. Но я не уверен является ли метод, который я выбрал наиболее правильным и эффективным в данной ситуации.
После некоторого изучения вопроса я пришел к следующим действиям:
1. Выбрать интересующее приложение и найти его "LOCAL_PACKAGE_NAME"
2. Использовать "mgrep название_приложения" с помощью "envsetup.sh"
3. Посмотреть на полученные пути с упоминанием названия приложения
4. Удалить строчки кода, содержащие Н.П из makefiles
Также я наткнулся на еще вот такой вариант:
"Вместо того, чтобы модифицировать кучу makefiles в AOSP в разных папках, можно добавить новый модуль, (a stub?) и выключить ненужные приложения при помощи Android.mk, используя LOCAL_OVERRIDES_PACKAGES. Если приложения всё еще появляются в конечном билде, добавить в LOCAL_OVERRIDES_PACKAGES то, что вызывает их установку, к примеру, из LOCAL_REQUIRED_MODULES.
Но, к сожалению, у меня пока не хватает знаний, чтобы создать собственный модуль, потому этот вариант я не рассматривал.
Есть ли какие-то шаги, которые я мог бы предпринять для того, чтобы удалить из конечного билда встроенные приложения, ничего при этом не сломав. Как вы думаете какое решение в данном случае будет наиболее верным и эффективным? И что стоит почитать для ознакомления с внесением простых изменений вроде вышеперечисленных в AOSP?
Если это имеет значение, на данный момент я пытаюсь убрать Calculator; Calendar; Camera; Clock; Contacts; Files; Gallery; Messaging; Music; Phone; Search; WebView
Заранее спасибо!
Артём
Vitalii
Ты хочешь собрать прошивку без приложений?
Ты можешь их отключить просто убрав Android.mk файл у каждого из проектов, либо переименовав (например в .ignore.Android.mk)
Если хочешь правильно сделать, то надо создать свой собственный device и в нём настроить список приложений.
Либо взять тот таргет, которым ты собираешь, и в нём удалить из .mk файла приложения.
Не помню как именно называется mk файл (то ли в board.mk, то ли в packages.mk, то ли как-то ещё, может отличаться от Android.mk), но тебе нужен PRODUCT_PACKAGES
Возьми имя таргета, который ты выбираешь, когда делаешь lunch и найди, где и в каком mk файле для него настраиваются приложения. Можно погрепать либо vendor/, либо device/
Vitalii
Можно и через LOCAL_OVERRIDES_PACKAGES если добавляешь девайс, но удалять таким образом приложения — немного костыль, он не для удаления в основном.
сладкий мальчик
Всем привет, я пытаюсь постепенно избавиться от встроенных в AOSP приложений по типу календаря и т.п. Но я не уверен является ли метод, который я выбрал наиболее правильным и эффективным в данной ситуации.
После некоторого изучения вопроса я пришел к следующим действиям:
1. Выбрать интересующее приложение и найти его "LOCAL_PACKAGE_NAME"
2. Использовать "mgrep название_приложения" с помощью "envsetup.sh"
3. Посмотреть на полученные пути с упоминанием названия приложения
4. Удалить строчки кода, содержащие Н.П из makefiles
Также я наткнулся на еще вот такой вариант:
"Вместо того, чтобы модифицировать кучу makefiles в AOSP в разных папках, можно добавить новый модуль, (a stub?) и выключить ненужные приложения при помощи Android.mk, используя LOCAL_OVERRIDES_PACKAGES. Если приложения всё еще появляются в конечном билде, добавить в LOCAL_OVERRIDES_PACKAGES то, что вызывает их установку, к примеру, из LOCAL_REQUIRED_MODULES.
Но, к сожалению, у меня пока не хватает знаний, чтобы создать собственный модуль, потому этот вариант я не рассматривал.
Есть ли какие-то шаги, которые я мог бы предпринять для того, чтобы удалить из конечного билда встроенные приложения, ничего при этом не сломав. Как вы думаете какое решение в данном случае будет наиболее верным и эффективным? И что стоит почитать для ознакомления с внесением простых изменений вроде вышеперечисленных в AOSP?
Если это имеет значение, на данный момент я пытаюсь убрать Calculator; Calendar; Camera; Clock; Contacts; Files; Gallery; Messaging; Music; Phone; Search; WebView
Заранее спасибо!
Ты прошивку собираешь?
Сергей
мм, тогда мне просто скриншот нужно сделать программно и всё?
Мнэ...система несколько нервно относится к идее сделать программный скриншот в любой момент. Это как бы дыра в безопасности была бы дикая.
Хотя такое разрешение для записи видео с экрана в дебрях настроек видел - но оно отладочное, и разовое (на одну запись)
Mikhail
Почитал по поводу WiFi Aware
"Wi-Fi Aware capabilities enable devices running Android 8.0 (API level 26) and higher"
🙁
"Note: Not all Android-powered devices support Wi-Fi Aware functionality"
☹️
Т.е. помимо нового андроида (support library его не поддерживает, как я понял) нужна ещё и поддержка железа. Ех...
Anonymous
Идея изначально в том, чтобы собрать чистый AOSP bullhead для Nexus 5x(сделано), затем попытаться убрать из него предустановленные модули вроде калькулятора и прочего, думаю справедливо будет сказать, что я собираю прошивку, хотя на самом деле всего лишь хочу слегка модифицировать чистый код AOSP_bullhead
Сергей
Mikhail
Anonymous
Ты хочешь собрать прошивку без приложений?
Ты можешь их отключить просто убрав Android.mk файл у каждого из проектов, либо переименовав (например в .ignore.Android.mk)
Если хочешь правильно сделать, то надо создать свой собственный device и в нём настроить список приложений.
Либо взять тот таргет, которым ты собираешь, и в нём удалить из .mk файла приложения.
Не помню как именно называется mk файл (то ли в board.mk, то ли в packages.mk, то ли как-то ещё, может отличаться от Android.mk), но тебе нужен PRODUCT_PACKAGES
Возьми имя таргета, который ты выбираешь, когда делаешь lunch и найди, где и в каком mk файле для него настраиваются приложения. Можно погрепать либо vendor/, либо device/
Первое решение, насколько я понял, это просто переименовать Android.mk у приложений в aosp/packages/apps, чтобы они игнорировались при сборке?
Второе думаю понял, сделать относительно тоже самое, только для конкретного таргета.
По поводу костыля - я так и предполагал, потому задался вопросом изначально
Vitalii
Печенье
Не забудь почистить сборку после выпиливания прилаг из .mk
Vitalii
apk не должны попасть в образ после пересборки.
Anonymous
Спасибо, думаю начну с первого в таком случае! Когда я закончу вносить изменения, есть ли вариант собрать прошивку не с нуля(6 часов на моем железе), а частично, чтобы сразу отправить результат на таргет? make clobber полностью убирает out, есть ли какие-то другие варианты?
Vitalii
Просто make -j$(nproc)
Vitalii
Повторный будет уже не с нуля
Печенье
Anonymous
Понял, тогда буду надеятся make просто внесет изменения в уже существующий out
Anonymous
Спасибо за помощь, думаю, вернусь когда опробую!
Vitalii
Печенье
У меня тоже бывало)
Vadim
Vadim
Screen recorder
Vadim
И так далее
Печенье
Кстати ты не пробовал собрать .aar через .mk билд
Vitalii
Пробовал, успешно.
Были проблемы с ресурсами до android pie, приходилось костылить, в девятке google поправили aapt и проблемы ушли.
Сергей
Видео - через особый интент. С разовым разрешением. А фото - только граф.буфера своей вьюшки
Печенье
Кейс у меня такой надо собрать либу которая юзает по jni сишную либу которую нужно тоже собрать, и это все как я понял aar запихнуть, что бы потом можно было через граду подключить к проекту, решение пока не нашёл
Vitalii
Ты хочешь подключить к гредлу в процессе билда прошивки?
Vitalii
Просто если ты уже используешь гредл в проекте, то тебе проще собрать и aar отдельно, и .so, подключить как в обычном android-проекте и уже собрать проошивку, добавив apk в mk-файл.
Либо тебе придётся зависимости на aar и .so прописывать в mk файле и собирать без гредла.
Печенье
Не я хочу что бы собрало сошку и собрало аар с ней. Потом мне надо будет это добро подключить к проекту с биль системой градл
Печенье
Это вообще реально?
Vitalii
Теоретически да, наверное, но тут для этого тебе не нужен make из aosp’а тогда. Это скорее про ndk уже.
Печенье
Мне нужен мейк, это все aosp 9, зависимости и все такое) все в билде должно быть
Печенье
Говорят что в 10 ведре мк вообще выпилят, будет только soong/.bp
Сергій
уже начали отвечать https://www.reddit.com/user/AndroidEngTeam/
Дмитрий
Всем привет, возник такой вопрос - как получить доступ к уже существующей бд(assets/databases/my.db) используя room? Может быть найдётся у кого-нибудь сампл. На гите есть либа позволяющая это сделать, но она жутко медленная, поэтому желательно своими руками
Вениамин
Di7aK
Di7aK
мне тут тоже надо было существующую бд заюзать, только я не фанат румов и привык ручками все делать
Di7aK
не юзать пикачу?
Di7aK
не эксперт, зачем мне пикассо или глайд, если к внешней памяти я могу тупо uri установить
Di7aK
медленно наверное потому что файл большой, закидывай тумбу
Di7aK
покажи код
Di7aK
зачем это?
Di7aK
если можно на ImageView вызвать setImageUri
Di7aK
звучит как "зачем if(condition) если есть if(condition.toString().equals("true"))"