Pull to refresh

Comments 46

интересно, а почему не брать исходники из AOSP? если патчить стоковую, то сырки андроида отлично для этого дела подойдут.
Ну я уже отвечал на подобный вопрос в предыдущей статье. AOSP берется только за основу и в течение нескольких месяцев допиливается производителем до нужного функционала. В финале код большей частью отличается от того, что было в оригинале.
В США запрещается записывать личные телефонные разговоры без предварительного согласия сторон
Не понимаю зачем выпиливать эту функцию. Есть стандартное решение, которое применялось с незапамятных времен — писк каждые 20 секунд. Добавить к этому воспроизведение фразы «Производится запись разговора» при старте записи и порядок.

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

А вот то что вы предлагаете — вещь хорошая. Единственное, требует разработки и поддержки. Но все разработчики делают и публикуют свою тяжелую работу бесплатно и в большой противовес и конфликт их личной жизни. На XDA я выкладываю все патчи в открытом доступе, чтобы их могли применить на других прошивках.
напрягало, если бы был писк и еще чей-то голос говорил что разговор записывается
По этому мы вообще спрячем такую возможность. Это лишь один из вариантов оставить возможность записи разговора без рутования и сторонних приложений. Те, кого будет раздражать сигнал могут рутовать устройство и удалить звуковые файла, как это успешно происходит сейчас.
Прежде чем телефон появляется на прилавках наших магазинов, он проходит сертификацию. Если тот или иной функционал противоречит законодательству, то производителя принуждают изменять его или удалять. В России этим занимается РОСКОМНАДЗОР.

Не знаю как в России, но допустим у нас в Казахстане Комитет Национальной Безопасности (аналог российского ФСБ), запрещает ввозить на территорию страны устройства шифрования с ключами более 128 бит.
Как же у вас Wi-Fi с WPA2 работает?
а вот так вот и работает. Все эти правила только для того, чтобы развиваться взяткодательство.
Компилировать и декомпилировать даже smali код на устройстве — это довольно глупая затея. У кросс-компиляторов это выходит гораздо быстрее и лучше.
В смысле пример чего? Я обычно черпаю вдохновение тут, а собираю-разбираю этим набором. Но все это для китайцев на медиатек.
Разбирать — собирать я тоже могу разными наборами, это и ApkManager и APK-Multi-Tool и Apk_OneClick и Virtuous Ten Studio (VTS) и многие другие.
Разрешите еще раз объяснить смысл статьи. Я не пытаюсь научить пользоваться готовыми тулзами, я хочу рассказать на основе чего и как эти приложения работают.
Тогда хотел бы почитать еще про bootclasspath, манифест и подпись сертификатами. И ссылку на часть первую в текст этой части.
bootclasspath — список JAR библиотек, необходимых для нормального запуска всех системных приложений.
manifest — определитель разрешений и компонентов приложения.
подпись — это вообще краеугольный камень Андроида. Многие задаются вопросами зачем оно нужно, если можно подписать самопальной подписью. В тематику данных статей описывать не планирую.
Ссылка добавлена. Спасибо.
Статья интересная, но на какой же дряни вы разместили одну единственную картинку…
Мне говорят там, что у меня опера на JB устарела.
Не страшно, обновитесь. Но каким образом это касается статьи?
Здесь намекают на вредоносные приложения :) на некоторых сайтах предлагают обновится даже если оперы нет
Извините, я новичок на Хабре, и не знал что есть есть хранилище. Мне тут в привате уже подсказали. Я исправил. В будущем такого не повторится.
А вот так эту задачу приходится решать обычным людям в американском сериале Elementary.
nerdophiles.files.wordpress.com/2013/05/elementary-s01e22.jpg
На первом телефоне включается громкая связь, а разговор записывается на второй телефон.

Интересно, можно ли такое провернуть с Google Glass или очки не смогут сохранить звук на телефон, находящийся в режиме разговора.
Точно! Буквально вчера краем глаза увидел эту сцену, когда супруга смотрела сериал.

В Google Glass, я так подозреваю, это тоже можно будет делать. Ведь там есть и камера и диктофон, соответственно их можно будет задействовать и при записи разговоров.
Я все-все знаю, но вам ничего рассказывать не буду. Жалкие людишки, проникнитесь моей крутостью!!!
Спасибо за статью, есть пару вопросов. Первый по теме — обязательно ли модифицировать Phone.apk из родной прошивки, или можно взять любой пропатченный для данной версии андроида?

И второй уже оффтоп — может быть Вы в курсе, какой есть кошерный способ по управлению пермишнами установленых приложений? В свое время я сильно удивился, что на айфоне можно практически на ходу менять, какие из запрошенных разрешений можно удовлетворять, а какие заблокировать. На андроиде же из стока можно лишь посмотреть список запрашиваемых разрешений, и либо отклонить установку, либо разрешить все сразу. Из приложений для управления пока нашел только PermissionManager, который после настройки пермишнов переустанавливает приложение, при этом обнуляя данные — их приходится предварительно бекапить и восстанавливать, а ещё ломается обновление приложение через стор. Как быть?
LBE Privacy Guard работает как фильтр.
При выполнении действия, которое сконфигурировано как фильтруемое, всплывает сообщение: программа XXX пытается определить ваше местоположение (выйти в интернет, прочитать контакты, совершить звонок, посласть СМС). Разрешить? Да/Нет/Всегда для этой программы.
Огромное спасибо, удивительно, что в поиске по «permission» не находит его, а программа — то что надо.
обязательно ли модифицировать Phone.apk из родной прошивки, или можно взять любой пропатченный для данной версии андроида?

Чужой Phone.apk должен запуститься в вашей прошивке, он завязан много на что. Абы какой просто не появится в меню.
НЕ должен. Многие приложения пользуются системными ресурсами, как например изображения, layout, xml файлы и прочее. Каждый ресурс имеет свой идентификатор. Запуститься Phone.apk он может, но работать он будет 99% не корректно.

Исключением являются стоковые прошивки для одной серии телефонов.
Например у HTC есть такие девайсы как HTC One S, HTC One SU, HTC One SC, HTC One SV.
Системные приложения между этими прошивками будут работать всегда. Тестировали, работает.
мое сообщение следует читать как «должен еще как минимум запуститься»
Я так понял вы хотите взять мой Phone.apk и запустить на своем телефоне? Не получится. Все приложения при компиляции автоматически генерируют идентификаторы ресурсов, которые hardcoded внутри байт кода.

Стандартными средствами нельзя, все разрешения записаны в манифесте приложения. Есть приложения, которые мониторят те или иные действия других приложений и предупреждают пользователя. Если приложение имеет больше системных прав, оно может блокировать действия другого. Так устроены перехватички замены системным приложениям, допустим набиратели номеров, отправители СМС и т.п.
Понятно, жаль, хотел немного времени сєкономить )
Если у вас есть DEODEXED вариант Phone.apk, дайте мне ссылку, я с удовольствием гляну на код
Сторонние прошивки, типа Cyanogenmod, вполне позволяют менять разрешения на лету, и нативно, без доп. приложений. Хотя LBE и крут.
Не нашёл в Cyanogenmod такого функционала, не подскажете где искать?
Открываете свойства любого приложения — там, где список разрешений внизу. Тыкаете по этим разрешениям, они зачёркиваются.
Да, мне тут из яндекса подсказывают, что предварительно надо галку в настройках поставить. Вот, коллаж — слева галка, справа разрешения приложения.

Судя по всему это в ветке Cyanogenmod 7 (в Cyanogenmod 9-10 такой галочки не нашёл). А может просто особенности сборки под Desire HD, хотя вряд ли.
В 9 и 10 тоже вполне есть, игрался.
Например в США запрещается записывать личные телефонные разговоры без предварительного согласия сторон


Это не так. Только 12 штатов требуют согласия всех сторон для записи разговора. В остальных 38 плюс ДиСи вторая сторона может записывать разговор без уведомления первой.
Да, вы совершенно правы, но для производителей телефонов это все равно что запрещено.
Это вам ещё повезло, что в ядре запись с линии присутствует.
Для моего HTC Desire Z на 4pda сначала искали разработчика, который бы добавил в ядро аудио-девайс «линия», потом его краудфандили, потом ждали полгода результата и наконец-то, получили ядро с записью (через надцать бета-версий, зависающих и глючащих, пропускающих звонки) и программу Call Recorder (в phone.apk вообще функционала записи нет)
Call Recorder — на моем телефон тоже не умеет писать с линии. Связывался с разработчиком, он меня упорно убеждал что мне надо компилировать ядро. Но вот все же как-то получается с линии записывать. Чудеса?

Во многих стоковых прошивка диктофон есть, только в манифесте приложения отсутствуют интенты.
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
, соответственно запустить в оболочке приложение нет возможности, так как нет ярлыка. Но никто не мешает запустить его сторонним приложением или создать собственный ярлык.
У вас посвежее телефон. Мой — старичок на Android 2.3
Возможно, в 4-й ветке сам гугл сделал этот функционал.
Уверен, данный материал по сравнению с предыдущей статьей оказался в несколько раз сложнее и запутанней. Какие-то регистры, операторы, модификаторы…

По-моему, эта статья получилась более понятной.

Не знаю как других, а меня всегда раздражало, когда в институте препод, пытаясь что-то объяснить, сначала пытался привести аналоги и примеры, и только потом начинал рассказывать «сложно» (с формулами и т.д.). Он тогда сначала запутывал аналогиями и «сложный» материал воспринимался уже не так.
Я считаю, что материал надо давать сначала сложный, а потом объяснять и приводить аналогии!
Это я к чему? К тому, что за счёт именно такой подачи материала — он усваивается лучше. Как и было в этой статье!
Так держать!
Согласен, имея очень небольшой опыт, все понятно. Автору спасибо за что что раскладывает все по полочкам на простом языке.
У меня, к сожалению, папки Phone\com\android\phone\util нет, так бы потренировался.
Sign up to leave a comment.

Articles