--------
Ребят, крайне тупой вопрос, заранее извиняюсь. Везде в доках, во всех статьях пишут activity/fragment lifecycle callbacks. Но разве это колбеки? Колбек - это же метод обратного вызова, т.е, как я вижу - прокидывается интерфейс и вызывается в каком-либо месте. Но разве тот же самый onCreate это колбек? В нем же даже есть вызов метода родительского класса (при помощи super), чего в колбеке в принципе быть не может. Рассудите, в чем я прав, в чем нет, а то мб я вообще ничего не понимаю и Миша всё херня, давай по новой.
Mikhail
:/
Mikhail
Лучше подскажите - есть ли узкопрофильных чатик по беспроводным сетям в Андроиде (в частности вайфай). Хочу разобраться с p2p и некоторыми другими вещами, но спросить негде
Mikhail
Документация! Ответит на все ваши вопросы
Официальная документация не всегда актуальная или даже правдивая
Mikhail
//вспомнил как одно время имя приложения на самом деле было именем первого активити. Не знаю как сейчас
Mike
Исходники!
Mike
Jvm specifications
ты как-то ворвался, и вообще непонятно, на что отвечаешь
Mikhail
Исходники!
Ты не поверишь... Но Android API на реальных устройствах отличается от референсного
Mikhail
*может отличаться
Mike
Цепочку ответов посмотрите
да вот на неё и смотрю, бред какой-то
central
да вот на неё и смотрю, бред какой-то
Чел не знает что такое super я сказал что ответ в доках сказал что нет я ему кинул название доки в которой максимально полная инфа по джава, что тут не логичного?
Ivan
В том что ты делаешь add вместо replace фрагмента?
стратегия выбрана неверно, при переходе назад срабатывал переход вперед. Решил с помощью SkipStrategy
--------
>> чего в колбеке в принципе быть не может. Может. Просто мы явным образом не передаём активити, нам всё система магически предоставляет. Ты же явно не вызываешь onCreate у активити, например? Фреймворк извне его вызывает. Обратный вызов.
да, я уже понял. Просто я до этого думал что колбек - это обязательно интерфейс. И собственно не понимал, какой супер может вызваться у интерфейса. Вы мне прекрасно все расписали. Спасибо!
Anonymous
Всем привет, уместно ли тут будет задать конкретный вопрос касательно простых операций с внесением изменений в AOSP?
Vitalii
Уместно
Mikhail
Так по WiFi можно где-то почитать? На уровне недокументированого API / драйверов. Суть в чем - я хочу вручную послать через WiFi пакет без сопряжение с конкретным устройством. Что-то вроде echo. Но стандартное API Android требует обязательного сопряжения. Даже в p2p сети. Нельзя просто так взять и послать произвольный пакет "в никуда".
Anonymous
Спасибо, тогда сейчас опишу задачу и отправлю
Arsen
копни в NDK
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 Заранее спасибо!
Артём
У вас в .gradle/daemon репозиторий должен быть?
Нет) я сам немного удивлен был
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
Сергей
А super нужен если нужно перегрузить стандартный метод или вообще его не вызывать в стеке колбеков
Если его нужно вызвать обязательно первым делом то студия об этом знает и напишет
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, чтобы они игнорировались при сборке? Второе думаю понял, сделать относительно тоже самое, только для конкретного таргета. По поводу костыля - я так и предполагал, потому задался вопросом изначально
Печенье
Не забудь почистить сборку после выпиливания прилаг из .mk
Vitalii
apk не должны попасть в образ после пересборки.
Anonymous
Спасибо, думаю начну с первого в таком случае! Когда я закончу вносить изменения, есть ли вариант собрать прошивку не с нуля(6 часов на моем железе), а частично, чтобы сразу отправить результат на таргет? make clobber полностью убирает out, есть ли какие-то другие варианты?
Vitalii
Просто make -j$(nproc)
Vitalii
Повторный будет уже не с нуля
Anonymous
Понял, тогда буду надеятся make просто внесет изменения в уже существующий out
Anonymous
Спасибо за помощь, думаю, вернусь когда опробую!
Печенье
apk не должны попасть в образ после пересборки.
Я не уверен конечно на 100, но я бы все таки клин для выпиленных модулей сделал бы, у тебя никогда с этим казусов не было?
Vitalii
Я не уверен конечно на 100, но я бы все таки клин для выпиленных модулей сделал бы, у тебя никогда с этим казусов не было?
Бывало, когда я выпилил модуль, который в другом приложении использовался. Тогда приходилось руками удалять из common.
Печенье
У меня тоже бывало)
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
не эксперт, зачем мне пикассо или глайд, если к внешней памяти я могу тупо uri установить
Di7aK
медленно наверное потому что файл большой, закидывай тумбу
Di7aK
покажи код
Di7aK
зачем это?
Di7aK
если можно на ImageView вызвать setImageUri
Di7aK
звучит как "зачем if(condition) если есть if(condition.toString().equals("true"))"
Eugene
звучит как "зачем if(condition) если есть if(condition.toString().equals("true"))"
Не знаю как пикасса, но глайд подгружает асинхронно. И это разумно писать так, что бы не поймать какой-нибудь out of memory при большом файле