Как стать автором
Обновить

Комментарии 181

Корпорация добра…
Слова корпорация и добро в одном предложении? Сомнительно.
НЛО прилетело и опубликовало эту надпись здесь
Корпорация бабла!
Ничего себе «по ошибке»! Там же целая работа программистов. Ладно там по ошибке баг сделать, но явно не целую процедуру. Мне кажется, что Гугл что-то нарыла в этой функции, из-за чего и закрыла
НЛО прилетело и опубликовало эту надпись здесь
как и все в этом мире. Фэйлы бывают у всех.
смутно верится в такой фэйл
Менеджеры не досмотрели и по их ошибке программисты протащили эту функцию в релиз.
Да понятно что они упустили:
1) Берём любое бесплатное приложение, которое живёт за счёт рекламы
2) Закрываем этому приложению доступ в интернет
3) Разработчики приложения не получат ни гроша с рекламы, ибо она работает только с подключением к интернету
4) У определённого сектора производителей приложений падает интерес к данной мобильной платформе

Я сам нечасто подключаю мобильный к интернету. Но когда я забываю его выключить и захожу в какое-нибудь приложение/игру, всегда удивляюсь резко появившейся рекламе там, где её раньше не было.
Все верно получается. Честно, за три года пользованием Андроида, он стал мне больше нравится и не нравится одновременно. Смешанное чувство такое.
Если честно, сейчас я уже и не уверен в том, что не захотел бы переплатить за новый телефон с андроидом лишь за то, чтоб у него не было рекламы как таковой вообще. Хотя нет, не только. Еще и за то, чтоб в нем не было подобного софта:
blogs.computerworld.com/smartphones/22435/motorola-secretly-spies-droid-phone-users-every-9-minutes-collects-personal-data
Убрав эту функцию из новых версий андроида гугл опять возвращает нас к раздумьям на тему, кто на самом деле является владельцем телефона — тот, кто за него заплатил в магазине или контентопроизводители и рекламодатели.
НЛО прилетело и опубликовало эту надпись здесь
Так там же вырубается доступ в интернет всем приложениям, а не конкретному ведь? Или я нечто пропустил?
Плюс выключатель «автоматической синхронизации», который использует только малая часть софта, в основном встроенный только.
Что мешает поставить LBE Security Master, DroidWall или оба сразу?
Необходимость рутованой прошивки. Эти приложения без рута мало на что способны.
Не понимаю, как можно не рутовать телефон, если есть возможность. У меня сразу ассоциация с покупкой компа: Вы покупаете комп, на который сразу в магазине ставят систему, а Вам в этой системе дают только права пользователя. Вы же сразу переставите систему «под себя», правда? То же и со смартфоном. Лично я хочу свой смартфон, насколько это возможно, контролировать.
Покажите мне этих хомячков которые с ходу разберутся как рутовать телефон, да и после этого которые не будут кричать «а где мои данные?» «а почему это не работает?». Тонкостей там вагон и малая тележка, хорошо если разбираешься и сразу по горячему ставишь рутованую прошивку(которая ставится на основе набранного многодневного опыта и чтения форумов) когда на слетевшие данные плевать. И то, потом обнаруживаешь что на этой прошивке оказывается камера не работает, или что-то еще потому как производитель не открыл драйвер этого устройства. Короче — это удел экспериментаторов а не рядовых пользователей.
Что уж говорить, когда на телефоне стоит масса настроенных приложений и тебе НИКТО не дает гарантию что в процессе эти данные не пропадут.
Ну да, «особенность процесса» скажут потом незадачливому пользователю.
Наверно, лет эдак 15 назад так же говорили о переустановке виндовса )))
А воз и ныне там…
Любые ассоциации ложны… правда что ли кто-то продаёт ноутбуки или компьютеры с предустановленный виндой без админских прав? Ни единого разу (пока) не видел.

Нынешний свой телефон не рутовал. Почему? Потому что незачем. На прошлом нужно было, что бы в 2.3 перетащить ряд фич с 4.X, где они работают из коробки.
Почему ассоциация ложна? Смартфоны сейчас мало чем отличаются от компьютера. Убунту Тач вообще стирает грань. И вполне естественно хотеть иметь полный контроль над вещью, которая тебе принадлежит.
Ммм. Я могу зарутовать телефон, если мне понадобится какая-то фишка, которую иным путём не получить.
Рутовать что бы получить «полный контроль и иметь возможность делать всё… что мне сейчас не нужно или я могу сделать и так» — звучит как фетиш что ли. Делаю это, потому что так принято, а не потому что то реально надо.

Так кстати, где продаются компьютеры с предустановленный ОС без рутовых прав? Вариант «б/у с рук» не предлагать)
Так кстати, где продаются компьютеры с предустановленный ОС без рутовых прав? Вариант «б/у с рук» не предлагать)

Не встречал такого, если честно. Это была всего лишь ассоциация, показывающая мое отношение к бредовости положения со смартфонами.

звучит как фетиш что ли

Не совсем. У Вас в смартфоне не только персональная информация, но и деньги на счету. Без рута Вы не можете нормально выставить политику разрешений. В итоге Вы не знаете, кому и какую информацию сливает установленный софт, плюс можете пострадать финансово.
Пример. На выходных я подбирал себе программу для работы с камерой. LBE Security Master выдает сводку об активности. Вот смотрю, что Camera360 постоянно пытается получить доступ к IMEI. Зачем оно ей? Другая софтина постоянно лезет в адресную книгу. Третья — еще что-то. Как минимум — неприятно, что что-то в телефоне занимается какими-то своими делами и, возможно, сливает информацию, которую хочется оставить приватной.
Что касается финансового плана. Лично у меня, до того, как поставил разрешения под жесткий контроль, сняло со счета деньги только потому, что что-то законнектилось в интернет. При том, что я передачу данных даже не включал. Просто установил программу, а через пару минут увидел на виджете с суммой на счету списание средств.
С IMEI у Google получился крупный просчёт. Под один permission запихали «Read phone state and ID».
Таким образом, чтобы приложение получало нотификацию о входящем звонке (для игры или аудио-плеера надо приглушить звук), нужен этот permission. Вообще, неплохо было бы это вынести на системный уровень, а не заставлять каждое приложение обрабатывать входящий звонок. Реализуя важнейшую базовую функцию, приложение одновременно получает доступ к IMEI и телефонному номеру, даже если этого и не требуется.
НЛО прилетело и опубликовало эту надпись здесь
Безопастность — это теперь баг. Круто.
По сути, о безопасности мобильных устройств, в том виде в каком ее хотели видеть многие, можно забыть.
Слишком многим будет интересно узнать где ходит потребитель и что в этих местах делает.
Поэтому максимум доступной безопасности будет как в iOS. Т.е. контроль приложений от явных вредоносов на этапе размещения софта в маркете.
О какой либо приватности собственных данных, можно забыть. Ее уже никогда не будет.
Есть конечно варианты альтернативных систем.
Но они вряд ли достигнут масштабов андроида или iOS, а значит выбор софта там будет куда более скудный.
Если в Sailfish OS с Android-приложениями всё будет так, как пишут её разработчики, то вот отличная альтернатива.
А что пишут разработчики Sailfish OS по поводу Android-приложений?
Если в Sailfish OS с Android-приложениями всё будет так, как пишут её разработчики, то эта OS будет ненужна производителям устройств.
параноидальный режим защиты от внешнего мира:

1) использовать устройства без возможности точного геопозиционирования
2) поставить альтернативную сборку (лучше — собрать самому, ещё лучше — изучить исходники).
3) пользоваться софтом только из f-droid, а все критичные приложения написать самостоятельно.

PROFIT?
хотя нет, возможность наличия закладок в сильно умных модулях wi-fi мы не предусмотрели… :)
Я хочу посмотреть на человека, который осознанно изучит исходники Android.
Команда того же cyanogenmod?
Это команда, а не человек.
1. Первый же пункт сейчас уже невыполним. Точность определения по сети достаточная, чтобы заставить параноика нервно икать)
2. Альтернативные сборки тоже слабенький вариант, ибо все равно неизвестно что там и как.
Слишком много времени уйдет на проверку.
3. А нафига он тогда нужен, этот смартфон? Я хочу пользоваться удобными и современными сервисами. Тех же банков и т.д.
С таким успехом брать нокию 1100 и все.
бида-бида… никому (даже компиляторам) верить нельзя :(
habrahabr.ru/post/199306/
О чем речь? Ведь под андроид есть и довольно давно софт который реализует эту функциональность — одна только проблема, поскольку функции это системные то нужна рутованая прошивка чтобы подобный софт работал.
Т.е. те кто хотят озаботится о приватности могут воспользоваться этой функцией выполнив ряд магических действий. Было бы конечно неплохо, чтобы такая функциональность была ИЗНАЧАЛЬНО в системе… но тут палка о двух концах — тогда почти наверняка бесплатные приложения не смогут заработать на рекламе ибо с высокой степенью вероятности доступ в интернет им будет отключен сразу же после установки.
Как на это будут реагировать разработчики такого бесплатного софта? Либо меньше писать таких программ, либо требовать интернет раз в сутки/неделю/месяц для продолжения работы.
DroidWall, к примеру, позволяет резать доступ в интернет как для отдельных приложений, так и всем сразу. Отдельно для Wi-Fi и 3G. Но, да, рут требуется.

И даже с рутом не со всеми телефонами работает, т.к. файрволы не везде есть их коробки (придётся ещё немного слясать с бубном).
Все относительно, в iOS, как ни крути, приложения достаточно неплохо зажаты со стороны системы в том, что им можно, а что нельзя, и когда они обязаны просить разрешение для доступа к определенным вещам. Я лично считают это большим плюсом, т.к. в этом вопросе я больше доверяю Apple с ее очевидной и прямой бизнес-моделью (с ними хотя бы все ясно — они просто хотят продать мне свой девайс и заработать на этом деньги), чем очередному стороннему разработчику приложений, который вроде как делает приложение, а на деле просто хочет через него получить доступ к различной информации, которую потом тем или иным образом монетизировать.
Cyanogen mod — и будет вам счастье
Скорее нужно ставить что-то опенсорсное, скажем, от мозиллы. Я например, на десктопе как сижу на FF лет семь — так и не тороплюсь на хром переходить. Толпа массово ушла с FF и не нарадуется скорости… Возможно, что скоро повалят обратно — когда увидят, как закручиваются гайки.
НЛО прилетело и опубликовало эту надпись здесь
А почему Android не open-source? Google-play имеет закрытые исходники, но сам Android с открытыми исходниками.
Android — очень хитрая система. Её не зря порой называют самой закрытой из открытых. Оригинальные исходные коды системы открыты и доступны всем. Однако если же вы попытаетесь скачать их и собрать под свой телефон, вас ждут проблемы.

  • Производители не спешат открывать модифицированные исходники — собрать конкретную модификацию, установленную на вашем телефоне скорее всего нельзя.
  • Драйвера закрыты наглухо. Даже если вам повезло и на телефон можно установить полностью свободный Replicant, кое-что работать не будет.
  • Ограничения: Google не любит, когда Android заменяют чем-либо. Постоянные войны с тем же Cyanogen mod, запрет на обновления приложений вне Google Play.

То есть, есть у вас исходники, но делать с ними вы вряд ли что-либо сможете. Возможно на Nexus такое реально, но на большинстве телефонов — нет. Если интересно, почитайте об Android Open Source Project и как обосновал свой уход из проекта мэнтейнер.
А то, что дают производители телефонов (из-за требований «устаревшей» и слишком требовательной свободной лицензии ядра, которая заставляет опубликовывать свои патчи), очень часто даже не собирается.
К сожалению, в cyanogenmod'e тоже не всё гладко.

Погуглите «the dark side of cyanogenmod» и «cyanogemod: developer wars» для начала.
В CyanogenMod 7 можно было отзывать разрешения, но в 9 это убрали. Сейчас у них какой-то Privacy Guard, который либо вкл либо выкл и вообще непонятно что конкретно делает. Это совсем не то же самое, что отозвать конкретное разрешение.
Не знаю, как у вас, в в моей прошивке там есть еще меню с пунктом Advanced, где индивидуальные разрешения отзываются на ура. На более старых андройдая я использовал permission manager, который вырезал разрешения прямо из манифеста в apk.
У меня на одном устройстве CM7 и в нём можно отзывать разрешения, на другом CM 10.1 и в нем этого нет, возможно это расширение вашей прошивки. Можете почитать обсуждение фичереквеста по отзыву разрешений, если интересно, статус у него Won't Fix.
Конечно, хорошая была опция, но на самом деле, если задуматься, как много людей настраивали для каждого приложения этот доступ? Да и вообще проблема не столько в отсутвиях настроек доступа, а скорее в обилии ворующих и недобросовестных приложений в магазинах.
Воровство далеко не единственная проблема.
Я вот не хочу чтобы читалка получала слишком много инфы. Зачем это ей? Ее задача книгу открыть и при необходимости скачать ее из инета. Все. Нафига ей все те разрешения что она запрашивает?
При этом очень часто альтернативы нет, все аналоги убоги. Я готов заплатить разработчику за его труд, но в упор непонимаю, зачем его приложение хочет иметь столько инфы обо мне.
Доступ к состоянию телефонного разговора, чтобы остановить диктовку книги TTS-ом. ;-)
Инет, понятно, OPDS.
Остальное — хамство!
Вам может быть и не нужно, что насчёт других пользователей? Например, кто-то попросил реализовать выгрузку закладок или заметок на диск (чтобы с облаком синхронизовать или на другое устройство перенести), разработчики фичу запилили. Но для этого требуются права для записи и чтения с SD карты и такие права только избранным пользователям дать нельзя чисто технически — либо у всех запрашивать, либо фичу не выпускать. Как вы думаете что разработчики выберут?

Вот если бы Андроид изменил структуру манифеста и позволил бы задавать права как не обязательные (например, атрибутом required=«false»), тогда проблему можно было бы обойти. Но этого пока не сделано.
Я готов заплатить разработчику за его труд, но в упор непонимаю, зачем его приложение хочет иметь столько инфы обо мне.

так спросите у разработчика зачем программе нужно столько прав. если они действительно нужны — ответит.
Он ответит, что каждый permission нужен для какой-то редко используемой фичи.
Так почему бы мне не отозвать эти гранты, если я уверен, что эти фичи мне точно не пригодятся.
Потому что 5 лет назад разработчики Андроида приняли решение что привилегии даются при установке, а не в рантайме (ниже я давал ссылку на документацию для разработчиков под Андроид). Изменение поведения приведёт к поломке многих приложений и в первую очередь будут страдать пользователи. Обратная совместимость — вещь важная и необходимая. Если вам не нравятся права приложения — зачем вы тогда его устанавливаете? Будьте последовательными, не нравятся права — не устанавливайте приложение.

Сейчас нет возможности в Андроид связать права с фичей, т.е. несколько фич могут использовать одни права и одна фича может использовать много прав. Поэтому отключая одни права, можно сломать всё что угодно.

И ещё — получить рут на устройстве можно не обладая никакими правами (например, см. эксплойт для телефонов Samsung). А с рутом отсутствие прав — не проблема. Так что реальные злоумышленники, если захотят могут и так достучаться до ваших контактов.
Насчёт рута — согласен. Эксплойты есть почти на каждый телефон. Хотя, с вводом официальной процедуры разблокировки загрузчика, хакеры перестали их упорно искать. Заметил по ситуации на HTC — для старых моделей разблокировка неофициальная, эксплойтов — море. На новых моделях хакерам искать дыры лень, говорят — идите на официальный сайт и получайте код разлочки под свой серийный номер. Так что, возможно, ситуация исправляется ))
А насчёт обратной совместимости — так в манифесте приложения есть версия API.
Можно для новых версий поменять модель безопасности.

Хотя, толку будет ноль — разработчики могут саботировать новую модель, не запуская приложение, пока юзер не даст права на все функции. Лучше уж как сейчас — хитрые рутовые проги обманывают приложения, а те и не подозревают, что им дают левые данные.
white list — и по умолчанию всё запрещено. Дать API приложениям на предмет сообщений «я фейсбук, мне нужен интернет», «я фонарик, я получаю фотоны по интернету, пожалуйста, пустите в интернет», и пусть информируют пользователя в случае чего.

Я лично нашел немного времени на втыкание afwall'a (на телефоне — 4.1 и больше обновлений не будет) и разрешенил интернет только тем, кому он на самом деле нужен. Процентов 80 утечек приватных данных этим прекращается (ну, соберёт оно их, но никуда не сможет отправить (ну, как, если есть пара приложений от одного производителя, одно из которых с доступом в интернет, то они могут обмениваться данными через файловую систему, но эту часть паранойи я затыкаю обычно)). А дальше — выбор — пользоваться приложением без доступа в интернет (и неполной функциональностью) либо выпускать в интернет приложение, которое может натырить персональные данные. Тут уже выбор за каждым.
> если задуматься, как много людей настраивали для каждого приложения этот доступ?

Нет, немного людей, и только для тех приложений, который вызывают подозрение. А вы что, на основе например того, что бронированные чемоданы-дипломаты большинство не использует, предлагаете поддержать запрещение их производства и использования?
А есть какой-то приложение, по типу фаерволла, которое позволяет, например, показать разом все приложения, у которых есть доступ к смс и gps, а также галочками запретить этим приложениям использовать эти функции?
Посмотрите в сторону Аваста. У него есть что-то подобное.
в рассматриваемом приложении в статье есть сверху же группировка по опциям
Clueful. Avast Privacy Advisor. Да тысяч
и их!
Из F-Droid (т.е. OpenSource) для проверки:

Permission Friendly Apps
Permissions
Rights alert

А вот для ограничения что-то не вижу, хотя было что-то вроде, не прошло peer review значит… Для настройки других установок на отдельные приложения вот что есть: PerApp.
Черт, как я ждал эту фичу с запретом доступа к интернету для отдельных приложений!
Пока для моего зоопарка сам по себе 4+ уже чудо (4.0 на планшетнике и 2 на мобильном)… так и запишем, ставить 4.3 максимум.
4.4.1 максимум. :)
пока воздержаться от обновления на Android 4.4.2

Да они издеваются!
Отключение доступа в интернет у «фонариков» и большинства оффлайн игр равносильно запрету встроенной рекламы.
Что мешает проверять наличие доступа в интернет в версии с рекламой и просить включить, либо купить платную версию?
Если даже и будут генерироваться специальные исключения, связанные с отключением привилегии, заявление «Приложению Фонарик требуется доступ в интернет» будет звучать странновато.
При установке приложения показываются разрешения которые оно требует, там вас не смущает, что фонарик требует соединение с интернетом?
Вы хотите ещё раз обсудить тему о проценте пользователей, обращающих внимание на список разрешений при установке?
Вы думаете процент знающих о вкладке App Ops будет больше?
Могу предположить, что нет, если только эта настройка не будет разрекламирована как одна из основных фич новой версии.
Так зачем ее тогда убирать?
Я не писал о том что ее нужно убрать.
По большей части это их проблемы, однако некий дополнительный контроль будет весьма полезен. Особенно учитывая, что из-за большого потока, качество и надежность приложений не всегда на высоте
Согласен. Когда переходил с iOs на андроид, я был в недоумении, почему такой группы настроек нет, учитывая, что перед размещением приложения в маркете не проводится практически ни какой проверки.
Потому что в последнее время быдлокодеры, разрабатывающие Android-фреймворки, взяли моду запрашивать всего да побольше. В итоге разработчик фонарика даже и рекламы не показывает, просто использует какой-нибудь фреймворк для отрисовки UI, а приложение в итоге требует абсолютно все права, от GPS до отправки платных SMS, и хорошо ещё, что не root-доступа.
При этом львиная доля приложений работает без каких-либо проблем, если привилегии порезать (например, в MIUI), т.к. реально эти функции никогда и не вызываются, они затребованы «на всякий случай».
Так неудивительно, что пользователи давно не обращают внимания на список разрешений — он ведь у большинства приложений одинаков, а переопределить ограничения нельзя. Можно только отказаться ставить приложение.
Можно пример таких фреймворков?
Не очень согласен. Выше уже отметили, что нет никакой возможности отметить в манифесте или потребовать прямо из приложения временные, второстепенные или необязательные разрешения. Хочешь добавить в фонарик проверку обновлений или какую-нибудь супер-мелкую функцию, которой пользуется 1 человек из 10000 — разрешение на интернет все равно нужно. Тоже самое с SMS и всем остальным.
Меня смущает. Но запретить ему доступ = не устанавливать приложение. Почему-то на компе я могу приложения ограничивать в ресурсах, а на телефоне — нет.
Если следовать логике сообщение должно быть «Вы пользуетесь бесплатной версией приложения Фонарик, требуется доступ в интернет, для обновления рекламной информации. Вы можете купить приложение без рекламы <<ссылка>>»
НЛО прилетело и опубликовало эту надпись здесь
Отсутствие доступа в интернет и отсутствие прав на доступ в интернет — это разные типы ошибок, они должно по-разному обрабатываться.
Этим страдает вполне себе платная версия Smart Tools — где-то раз в сутки проверяет лицензию, если нет соединения с интернетом, то «мультиков не будет». Учитывая специфику программы, подразумевающую походное использование (фонарик, компас, дальномер) вдвойне неприятно.
Не пользуйтесь этой программой, юзеры должны голосовать рублем за качество исполнения.
Так приобрёл уже, поздно рублём голосовать…
проголосуйте комментариями и оценкой
Голосовать и оценивать нельзя без регистрации в G+
А ради этого тащить себя в ещё одну соц-сеть — сомнительно.
Свыкнитесь уже. Гугл+ = Гугл. Если вас нету в гугл+. Считай у вас нет возможности вести нормально общение в ютубе, в плей маркете, в игровом центре. + порезаны возможности гугл диска и т.д. и т.п. Ну и также у вас не работает хенгаутс и скорее всего распознавание номеров в гугл+ (если тебе звонят с незнакомого номера она вроде как уже пробивает по г+)
Это все практически равносильно вообще не использовать гугл акк на девайсе. Я вообще за то, чтобы гугл полностью объеденил гугл профиль с гугл+. Тогда будет один общий профиль и все.
К слову никто не заставляет её прямо использовать. Но в то же время ютуб стал удобнее с гугл+. Ранее нельзя было нормально ответить на комментаций. Теперь комментарии и обсуждения ведутся в гугл+. А это значит коммент может быть большого размера, в него можно без проблем добавлять ссылки и твои друзья также могут обсудить с тобой тему того или иного видео.

И к слову у меня стоит стоковый 4.4.2 и там функция представленная в статье работает. Мне кажется кто то где то наврал.
это да, но разработчики в таком случае могут встроить заглушку «купите полную версию или разрешите доступ в сеть». правда тогда api должен корректно уведомлять что стоит именно запрет, а не интернет отсутствует в принципе.

Спасибо гуглу что выкатили свою «тестовую сборку» 4.4.1, теперь хоть знаю какой циоген хочу себе на свой Galaxy Nexus
Насколько я понимаю в приложениях используется реклама от гугла. От сюда предложением, можно добавить 2 опции отключить интернет и отключить рекламу. Интернет отключит приложения от всех внешних соединений кроме рекламы, которую в общем-то можно предоставлять через какой-то единый механизм. В итоге отключение интернета не будет проблемой. А вот на отключение рекламы можно просто предлагать купить платную версию при поптыки открыть приложение.
Подобный подход имхо решит 95% возможных проблем.
Если бы только от гугл… Довольно фантастичное предложение в любом случае.
Если вы показываете рекламу не от гугла, то вам же и следует позаботиться о проверки доступности интернета и выводе соотвествующего сообщения. Вроде все просто.
Все равно такой механизм будет расценен, как антиконкурентные действия.
Тогда приложение используя канал рекламы будет использовать его для отправки персональных данных. Действительно, что ему помешает это сделать?
Неоднократно говорили уже, что для юзание канала рекламы надо заключать партнерку с гуглом. где гугл может наложить нехилые санкции за неправомерное использование канала.
Почему убрали запрет на доступ к сети — вполне понятны — гугл не будет пилить сук (рекламу), на котором он сидит. Но вот невозможность запрета доступа к телефонной книге и осуществления вызовов — это перебор.
На самом деле, конечно понятно что наверняка основная причина по которой был выпилен сей функционал, это падение рекламных показов.
Но ведь гуглу нужна только гугло реклама, которая имеет свое апи.
Так почему бы не давать рекламному апи, отдельный интернет доступ, а вот приложению этот интернет резать ;)
AdMob'ом рекламные сети не ограничиваются. А если делать какой-то специальный апи для рекламных SDK — что мешает в туже дырку пропихнуть левый трафик? В результате вся затея просто теряет смысл.
А я не говорил что гугло рекламой все ограничивается. Но если говорить о том что гугл пилит сук на котором сидит, то он мог бы таким образом не только остаться с рекламой, с которой он деньги получает, но и склонить разработчиков приложений к использованию именно гугло-системы.

Так что и ради рекламы отключать возможность ограничить права пользователей, было не обязательно.
Да, конечно, это тоже ограничение прав и свобод разработчиков в выборе рекламной площадки, но зато свобода пользователя в выборе разрешений — приложениям.
Никакого падения показов не будет. Лазают глубоко в настройки от силы 1% всех пользователей.
А какие другие, реальные, причины для выпиливания App Ops вы видите?
Скорее всего это небыло согласовано с руководством и стало доступно по ошибке в релизной версии KitKat, пока прикрыли на всякий случай.
Менеджер разрешений подразумевает под собой не только программу ограничения разрешений, но и информирование разработчиков и предоставление им инструментария для поддержки такого поведения приложений (например стандартный механизмы запроса дополнительных разрешений у пользователя).
К тому же это затрагивает интересы разработчиков, которые зарабатывают на рекламе, а это в том числе и очень крупные студии, например Rovio, который все больше монетизируется через рекламу. Ск
Думаю эта функция все же появится в Android для всех в одном из будущих релизов, когда будет готово все для поддержки этого и будет урегулирован вопрос с рекламой (как вариант разработчик например сможет указать разрешения без которых приложение работать не сможет или указать для приложений некий флаг «не хочу работать без рекламы» и тогда система скажет, что отключить интернет для этого приложения нельзя)
И все же вы опять указываете на то что введение указанного функционала, подпортило жизнь разработчикам зарабатывающим на рекламе)

А то что обновление не было согласовано с руководством — ну вряд ли)
Да, возможно не было проанализировано маркетологами — допущу. А введено отделом отвечающим за безопасность/конфиденциальность. Но это было введено не в КитКат, это опция появилась в 4.3. Но сейчас они видимо получили достаточное количество жалоб от «разработчиков зарабатывающих на рекламе».

После такой громкой огласке, будет странно если эта функция не появится в будущих релизах, в «доработанном» виде.
Я не указываю, я предполагаю.
Думаю никому это ничего не подпортило, на доходах и т.п. это сказаться не могло, слишком маленький процент пользователей под это подпадал. Но Google должен заботится и о разработчиках в том числе и поэтому на всякий случай прикрыл, или вы считаете что разработчики софта не имеют права монетизировать свой труд через рекламу?
И я не говорил, что это единственная причина, думаю потенциальная не готовность разработчиков и приложений к такому недокументированному поведения — вот основная причина. Никто не хочет столкнуться с толпой пользователей у которых «ничего не работает, разработчики криворукий, идите в ж» просто из-за того, что они понажимали неясных галок в программе управления правами.

На самом деле это просто ваши предположения, как и мои. К тому же функция никуда не делась, посмотрите diff 4.4.1 и 4.4.2, там просто на уровне кода проверка, можно ли показывать или нет.

Если же вам это так нужно, то в чем проблема, после получения рута можно без проблем вернуть все как было, вроде бы даже для Xposed Framework соответсвующий модуль уже вышел
Не, не в коем случае я не хочу ограничить права разработчиков на заработок от рекламы. Наоборот, благодарен андроид разработчикам за такое большое количество отличных бесплатных приложений, стоимость разработки которых они отбивают заработками с рекламы.
Но вот желание получить доступ к моим контакт листам, например, меня несколько напрягает.

Конечно, только предположения, ничего другого, без других официальных комментариев гугла и не будет)

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

Да, соглашусь, действия гугла можно понять, относительно модуля контроля за правами приложений в том виде в котором он есть сейчас. Но все же очень хотелось бы нативную поддержку этой функции, в допиленном виде, в будущем.
Повторюсь, рекламу можно вынести в отдельный пункт ведь она же явно доступна по уже заведомо известным адресам от гугла.
В любом случае, просто отключить возможность блокировки инета проще в реализации, чем создание отдельного фильтра с набором правил.
Пробрасывать рекламу можно через Play Services, например. Это отдельное системное приложение, которое уже умеет многое и блочить ему выход в инет нельзя — сломается вообще всё.
Будет сделан фикс плеу сервиса дабы через него можно было не так много.
Для этого надо обновлять сами приложения, при том, что многие просто заброшены. Это раз. Два — у гугла есть партнёрки для рекламных сетей, когда чужие баннеры показываются с помощью SDK AdMob. Так вот — эти баннеры тянутся не с гугловских серверов. И в любом случае, даже если переводить партнёрки на новый API — нужно переписывать много кода большому число компаний. И это даже не программерская проблема, а проблема менеджмента. Намного проще отключить возможность блокировки сети. На порядки проще.
Надо просто обновить SDK и всё. Совсем старый SDK уже давно не рабоч, так что с этим никаких проблем.
Вы видимо плохо себе представляете, как это происходит. Вы слышали такое слово: «бюрократия»?

1) Новую версию SDK должен разработать сам гугл. Уведомить о переходе на него своих партнёров (и потенциальных партнёров) на стадии беты (не раньше, иначе нет смысла). Включить это обновление в новую версию.
2) Партнёры должны обновить СВОИ сдк, уведомить об этом разработчиков, использующих их сети.
3) Разработчики должны обновить свои приложения.

В пункте 1: Гугл должен дождаться, пока партнёры разродятся обновлениями своих сетей. Пока до менеджмента дойдёт что надо обновляться, пока будет разработаны и оттестированы обновления SDK.
2. Партнёры СДК обновили, теперь приложения должны обновлять разработчики приложений: читали истории, как microsoft тестировал совместимость приложений с Windows и вставлял в неё костыли, чтобы чужие приложения таки работали, несмотря на баги?
3. Разработчики конечный приложений шлют Гуглу лучи ненависти за необходимость поддержки 2х версий API.

А вот откат блокировки интернета — самое простое изменение, которое требует минимум сил и времени для всех. Возможно, гугл что-то новое и пилит, но я бы новостей об этом «что-то» раньше, чем через пол года не ждал.
Во-первых, никаких двух API для конечных разрабов не будет. Раньше JAR сам рисовал Activity и делал запросы в инетик, теперь JAR будет дёргать активити/сервис в другой либе. В Android это абсолютно прозрачно, разрабы вообще ни о чём никогда не узнают. Более того, межпроцессное общение ничем не отличается от внутрипроцессного — всё летает бандлами. То есть даже с точки зрения перформанса почти никаких изменений.

Насчёт партнёров. Гугол известен тем, что им пофиг. Если приспичило, то всё будет как они хотят. Пока не хотят. Вспомните, как они чекаут зарубили — разослали в один день всем письма что всё, давай до свидания. И всё.

Вобщем, никаких проблем нет вообще для гугла. Но и желания нет. Вот и всё.
Ну допустим, если разработчики не извращались с рекламой — то приложения обновятся без проблем. Но их всё равно придётся перезаливать в магазины.

> насчёт партнёров. Гугол известен тем, что им пофиг
Партнёры и в суд подать могут.

> никаких проблем нет вообще для гугла.
Никаких, кроме потери прибыли на основном из их источников доходов…
Их рекламу начнут юзать в 2 раза больше, какие потери?
Если ваше приложение приносит вам бабки, вы пойдете и подправите его ибо это в ваших же интересах, и поверте когда вам капают деньги, вы не скажите «Да пофиг, они козлы я не буду больше под них разрабатывать». Если ваше приложение не приносит бабки и у него 100 юзеров то всем конечно пофиг, что логично и нормально.
Я не вижу проблем никаких. Партнерка подразумевает, что гугл неким образом отвечает за контент у него есть договор с компанией. Поэтому я не вижу больших возможностей слить вашу приватную информацию через AdMob.
Можно же написать новое апи и разместить параллельно со старым, старое тупо смотрит на инет и ничего больше. новое умеет грамотно разруливать новыей кейсы.
Сейчас есть возможность обращаться к собственным серверам, которую активно используют. Если её оставить, как быстрое решение, для обхода ограничения будет достаточно зарегистрироваться партнёром.
Так сделайте регистрацию партнеров более жесткой, при жалобах и левом контенте лишать статуса партнера и изымать приложение изи гугла или ч-то такое. Все просто.
Видимо Гуглу не нужна вся эта возня. Тем более, что баннеры не показываются прямо сейчас.
НЛО прилетело и опубликовало эту надпись здесь
MIUI — вообще очень крепкий и достойный комбайн, «андроид с человеческим лицом». Управление разрешениями — одна из многих приятных особенностей.
Всецело одобряю.
НЛО прилетело и опубликовало эту надпись здесь
хм, а я недавно обновился на 4.4 но видимо меньше чем 4.4.2, уже апдейт висит, фиг поставлю. Очень крутая фишка, очень не хватало. Уже пёрли у меня данные.
Изменение разрешений для некоторых приложений способно нарушить их работу

Ой, я вас умоляю. У меня уж пару лет наверное, установлена LBE Security которая позволяет ограничивать приложения в любых правах и доступах. И ничего, все живы.
forum.xda-developers.com/showthread.php?t=1422479
Навител Навигатор падает, если запретить ему доступ к SMS и попробовать соответствующей опцией воспользоваться. Проверял на MIUI, когда еще Android 2.3 в полях был, но не думаю, что с тех пор что-то изменилось.
В последней LBE есть галочка «Always report SMS sent successfully».
И ничего не падает.
На телефонах Oppo встроена модифицированная версия этой программы.
По-моему, всё ок. Если такая функция засветилась — значит над ней работают. Убрали и всё объяснили — пока «для некоторых приложений способно нарушить их работу», т.е. фича к релизу не готова
Она готова. Не готовы быдлокодеры, которые валятся на пол после отказа доступа к sms или gps.
Чинить надо именно быдлокодеров.
Не стоит все же быть настолько категоричным и уж тем более так ругать разработчиков. Да, некоторые приложения не будут работать или будут падать, если им запретить доступ к некоторым функциям, но почему сразу «быдлокодер»? Все же это не документированная функция и большинство разработчиков случаи отсутствия доступа к некотором из указаных в манифесте разрешений никогда не проверяют.
Думаю в следующих версиях Android такой инструмент все же появится для конечных пользователей, совместно с рекомендациями для разработчиков и решением проблемы с доступом к рекламе.
Кодер может быть профессионально неплох, и даже идея реализована хорошо. Но внутри кодер как человек — быдло.

Например, com.kayak.android:
* «read calendar events plus confidential information» — что за конфиденциальная информация и зачем читать календарь?
* «send emails to guests without owners' knowledge» — он меня делает спам-хабом, причём скрытно.
Идея хорошая, но пришлось снести. Профи — да. Быдло — разумеется.

com.littleinc.MessageMe:
* «send SMS messages» — казалось бы дело ясное: мессенджер, все дела. Хотя, если призадуматься — альтернативный, то есть интернет-пейджер, а никак не SMS.
А на самом деле сразу при инсталляции он скрытно рассылает SMS «Ура! Всем инсталлировать MsgMe!!!!1111АдынАдын. Лично рекомендую ценой своей репутации» по всем контактам. Я и поставил ценой репутации моего шефа. В ярости снёс сразу как узнал про этот спам. И свою репутацию подмочил.
Не быдло? Хотя хороший прог, наверное. Не успел рассмотреть.

la.droid.periodic — один из лучших в своей категории.
* read your Web bookmarks and history
* find accounts on the device
* run at startup
Что это всё? А это всё быдляцкое отношение к жизни: загружать таблицу Менделеева обязательно при каждом включении телефона, перечислять кто и как зареген на телефоне, шпионить за моим сёрфингом. Хотя программист превосходный.

Куча таких примеров. И, строго говоря, это не быдлокодеры — такой софт мне не нужен, но весьма быдляцкие кодеры.

В этом суть Дроида — это беспорядочный базар, и надо знать правила выживания на этом базаре. Ставить firewall, читать запрошенные права и по возможности отбирать хамские, не инсталлировать совсем тупую халяву.

И позитивная попытка Гугла внести регулирование прав официально была очень верной. А отмена этой позитивной функции — сильный удар по образу корпорации.
Не было никакой попытки «внести регулирование прав официально», это же была не документированная функция, которую даже вызвать нельзя было без того, что бы отправить интент вручную. Это скорее всего случайно попало в открытый доступ и когда это всплыло, то пнули виновника и он прикрыл лавочку, т.к. пока считают этот функционал не готовым для массового использования, по тем или иным причинам.
И я не понимаю как текущая реализация управления правами, которую собственно и убрали, помогла бы вам во всех этих случаях. Что бы избежать таких вещей тогда нужно по умолчанию выключать все разрешения или опредленные разрешения для всех приложений, а затем уже их включать по требованию. Не думаю что Google на это пойдет, тут прямая дорога к кастомным ромам или просто root функциям.
P.S. Причем тут кодеры? Все перечисленные приложения делали компании, такие вещи решает руководство или менеджер проекта, никак не кодер и даже не ведущий программист.
P.P.S. Не понял почему стоит употреблять слово «быдло», это скорее жесткий маркетинг, ну кроме последнего приложения, тут явно какая то лажа, я бы не стал таким пользоваться, не важно, с ограничеием разрешений или без.
Объясните только одно: зачем в рантайме проверять права доступа, если Андроид гарантирует, что права выданные при установке приложения не могут быть отозваны? Что если приложение требует доступ в интернет (и получило на это права) — мне перед каждым запросом всё равно нужно их проверять?

Не спорю, такое можно было бы делать (проверять права каждый раз) если бы изначально в Андроиде использовался такой подход. Сейчас же, по факту, тупые пользователи понаотключают прав, а потом будут жаловаться что приложения падают (в корпорациях, например, цикл разработки новой версии может занимать полгода и, получается, пользователю придётся жить полгода с падающим приложением).

Ещё пример из личного опыта — некоторые пользователи лезут в настройки и принудительно включают hardware acceleration, которое не работает и отключено для приложения. А потом пишут бар-репорты, что у них GUI в артефактах.

Ну и напоследок цитата с d.android.com:
No checks with the user are done while an application is running: it either was granted a particular permission when installed, and can use that feature as desired, or the permission was not granted and any attempt to use the feature will fail without prompting the user

Т.е. получается быдлокодит как раз тот, кто эти права проверяет.
Объясняю:

Возможность выстрелить вам в лоб не означает необходимости выстрелить вам в лоб.

Возможность у ламера для компаса сынжынырить доступ к смс или у фонарика к контактам не означает необходимость этим пользоваться.

А честный программер, свершающий шпионаж под давлением подлого манагера, всё-таки должен вписать обработку исключения для рутового юзателя, который догадался отказать лазить себе в букмарки.

Ибо иначе это тряпка, хотя и высококвалифицированная.
Думаю, что через пару лет со всеми этими 3D принтерами, модульными телефонами, открытыми ОС и прочее, я прочту топик на хабре «Мобильный телефон своими робототезированными руками с ОС в 30 строк и подкидным дурачком».
и раздел App Ops просто исчез из настроек

Непонятна связь между разделом настроек какой-то сторонней программы (App Ops) и «удалением функции безопасности».

Изменение разрешений программ было возможно во всех версиях ОС при наличии root-прав. В 4.3 сделали возможность менять разрешения без рута?
c 4.4
которая появилась в Android 4.3
опечатка, нет такого в 4.3
И всё-таки есть, судя по гуглу и репозиторию platform/packages/apps/Settings
.
Собственно, всё, что делают все эти «супер-ланчеры» — запускают скрытое окошко настройках: «com.android.settings.Settings$AppOpsSummaryActivity»
Вместо минуса пишу — ЕСТЬ. Пользовался лично на Nexus 7
НЛО прилетело и опубликовало эту надпись здесь
А как им можно пользоваться? Может я чего не понял в нем… Но на сколько понял, он сам решает кому и что отключать. Хотя пользователь может вручную что-то включить/выключить, но он все равно при установке софта сам отключает то, что, по его мнению, не нужно и/или опасно. И еще, мне показалось, что он оперирует службами, а не правами.
Можете прояснить?

Сейчас использую App Settings (из Xposerd). Вроде норм.
НЛО прилетело и опубликовало эту надпись здесь
Теперь значительно понятнее стало. Спасибо.
Попробую его еще раз.

Про «опасно, не опасно» вы верно поняли.
НЛО прилетело и опубликовало эту надпись здесь
В первом посте они писали о DroidWall — фронтэнде к iptables для Android. Он не разрабатывается уже несколько лет, зато есть продолжатель его дела AFWall+, который позволяет даже более гибко настраивать доступ приложений к сети. Оба проекта open source, под спойлером qr-код со ссылкой на AFWall+ в Google Play.
Скрытый текст

Использование именно QR-кода вместо ссылки это какая-то конспирация?

Спрашиваю, чтобы понять, зачем нужно это усложнение. Если бы здесь была ссылка, я бы перешёл по ней в один клик, прочёл бы описание на большом экране ноутбука, затем нажал бы кнопку «установить» и выбрал бы устройство. Даже если бы я читал с телефона, я бы тапнул по ссылке, открылась бы страница Google Play, дальше прочитать, «установить». А так мне нужно достать из кармана телефон, запустить QR-сканер, навести на экран ноутбука, затем читать (на небольшом экране телефона, без вариантов), затем только «установить».
Нет, не конспирация. Почему-то не подумал о ссылке и чтении описания. Вот, держите:
AFWall+
Ссылку разместите пожалуйста, мне удобнее её просто кликнуть (я за компом сижу), а лезть за телефоном и с него ставить совсем не охото.
Не поленился, принес ссылку из гугльплея:

AFWall+

Упс, поздно спохватился, смотрю вы уже выше выложили.
CyanogenMod. Там с недавних пор есть Privacy Guard, который рулит разрешениями для всех приложений в системе (как установленными, так и системными) + появилось приложение («из коробки») WhisperPush (это в ночных сборках пока), которое занимается защитой SMS-сообщений совместно с TextSecure.

www.cyanogenmod.org/blog/whisperpush-secure-messaging-integration
Много лет назад им надо было заставить разработчиков писать описания, зачем затребован приложением тот или иной пермишен и можно ли работать без него.
Я как разработчик только рад тому что этой фигни не будет:

Я явно попросил разрешения на доступ к определенному функционалу и могя прилага ожидает, что он будет, либо даже не встанет. И я буду сильно обескуражен, если вдруг внезапно что-то будет заблокировано. Я не хочу тратить время на отлваливание таких ситуаций. Я не хочу искать воркэраунды. Это лишнее усложнение программы. И мои старые прилаги придется переписывать, ибо я даже не знал что такое возможно штатными средствами. И пользователь гневный пойдет и поставит единицу в оценку прилаги.

Как пользователь… Ну я даже не знал что в 4.3 такое было. Но слегка огорчен что выкинули такой полезный функционал.
Если пользователь едет в метро, и у него нет интернета в силу объективных причин — ваше приложиние падает? Чем эта ситуация лучше, чем когда у пользователя интернет есть, но его не дают конкретно вам?

Ну и вообще надо делать более мягко всё это. по запросу интернета — не давать соединяться, никаких непредусмотренных эксепшенов. По запросу адресной книги — выдавать пустую. По запросу координат — выдавать южный полюс. По запросу имея — выдавать нули.
Не надо путать мягкое с красным, IOError это штатная ситуация которую обрабатывать можно и нужно всегда.

А вот хэндлить SecurityException явно указав требование в манифесте это то же самое что и покрывать тестами вызовы библиотечных функций.

>Ну и вообще надо делать более мягко всё это. по запросу интернета — не давать соединяться, никаких непредусмотренных эксепшенов. По запросу адресной книги — выдавать пустую. По запросу координат — выдавать южный полюс. По запросу имея — выдавать нули.

Все верно. Так и должно быть. Но на уровне окружения — т.е. я по прежнему обращаюсь к провайдеру или к системному сервису но он должен возращать пустую имплементацию. Очевидно что пока такого нет то давать отзывать разрешения рано.
Пост из области издевательства. Большинство устройств в мире не обновляются хз с каких времен. До опы дыр в безопасности. На всё это забили производители и с каждым новым устройством рассказывают сказки про то что всё будет вечно обновляться. И все как бараны в это верят.
Андройд стал уже настолько массовым, что Гугл легко может ничего не возвращать: прямых конкурентов у него немного, так что 99% покупателей купят все равно.

Да и у конкурентов нет подобных механизмов, которым бы хотелось верить.

Так что посмотрим, совесть возобладает, либо желание на приватности лишнюю денежку заработать. Либо, это тоже стоит учитывать, убрали настройки, чтобы не ломать уже выпущенные программы, а вместо убирания написать генератор фейковых данных просто не было людей/сил, чтобы «здесь и сейчас» срочно сели сделали. Если так — ждем 4.4.4 какого-нибудь :)
Интересно, а почему эта функция была ключевой в безопасности Android?
Гугл её не документировала, доступ к ней получить напрямую из Гуя было нельзя. То есть, этот App Ops, видимо, разрабатывался для тестирования каких-то ситуаций с разрешениями, и попал в продакшен. Вообще, насколько я понимаю, App Opps не позволял регулировать разрешения сразу. То есть, сначала стороннее приложение получало через разрешение доступ, после чего App Opps получало возможность отключать это разрешение. Непонятно, в чём секурность закрывать доступ к разрешению, если через это разрешение приложение уже получило/обработало/отправило данные?

UPD. Ааа, автор-то Ализар.
Вот, кстати, что говорят в Android Police (листать к разделу про App Ops) со ссылкой на Дайан Хэкборн и других инженеров Google
Ализар просто перевёл «как есть» жёлтую новость, которая была в десятке OpenSource-ориентированных RSS-лент. Ключевой эта функция была для EFF.

А вот выход Qt 5.2 с официальной поддержкой iOS и того же Андроида на Хабре прошёл незамеченным.)
Root + Xposed Framework + AppOpsXposed module.

С другой стороны, есть модуль Xprivacy…
А без XPosed который с ART-ом не работает не получится?
Зачем Вам этот ART? Выигрыша я особого не заметил… Пользы от Xposed всяко больше — один GravityBox чего стоит.

Без Xposed AppOps сделать не выйдет, насколько я знаю.
Есть какой-то AppOps X, кстати. Внутри вот этого.
AppOps X — судя по всему модуль для Xposed опять таки.
НЛО прилетело и опубликовало эту надпись здесь
Линус (который, кстати, рулит разработкой ядра Андроида) обвинил Гугл в лицемерии.
With all the posturing Google has done over the NSA stuff, and having encouraged people to sign the petition to require a warrant for email snooping (which I heartily agree with), this just makes Google look hypocritical.
В его же гуглоплюсе.
Есть что-то забавное в обвинении Гугла в сервисе Гугла… Не знаю, что именно.
А для многих вся эта ситуация оказывается в новинку?
До кого-то всё это дошло еще во времена 95 выня, когда все говорил о том, что мол в винде всё что не запрещено разрешено, а в юниксе всё что не разрешено запрещено, и как следствие винда уязвимее а юникс геморойнее.
Но один еврейский парниша по имени Ваня писал об этом еще почти две тысячи лет назад. Так и сказал, что главная опасность для этого мира это chmod 666, т.е. широкие права доступа. И дело вовсе не в том что как говорят конспирологи — гугл попросили чтобы он был чуть более уязвим, но так чтобы это было «особенностью архитектуры». Просто реально еще не придумали хороших компромисов между этими двумя крайностями.
Не понимаю, почему эти хлопцы так раздули эту новость, ведь оправдание у гугла вполне себе ничего — во время разработки системы не подумали о том, что кому-то может понадобится отключать разрешения, выпустили андроид и API, которое теперь уже нельзя просто взять, и сменить (что бы учитывало то, что разрешения может и не быть).
Потом хотели добавить эту функцию, но оказалось что от нее больше вреда, чем пользы (пользователи не задумавшись отключали разрешения, и приложения крашились), случайно запихнули ее в релиз (такое тоже бывает), а теперь убрали.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории