CyanogenMod 12: Ошибка при переключении способов ввода

CyanogenMod 12: Ошибка при переключении способов ввода

GT CyanogenMod 12: Ошибка при переключении способов ввода в черновиках recovery mode

Несколько месяцев назад команда cyanogenmod стала понемногу выкладывать билды 12 версии своего одноименного детища, основанного на коде Android 5 Lollipop. В начале года, наконец-то, дошла очередь и до Nexus 4. Не откладывая в долгий ящик я прошил одним из первых ночников. Конечно все еще сыровато, то и дело там и сям наблюдаются непереведенные строки, далеко не все цианогеновские фишки присутствуют, но мы то упоротые фанаты цианогена знаем, что все это мелочи и с каждым новым билдом ситуация будет все улучшаться.

В принципе, текущий ночник, а на момент написания статьи это билд от 18-го числа. вполне юзабелен. Все заявленные функции Nexus 4 работают штатно, стохастических ребутов и бутлупов не наблюдается. Но… «не было печали — купила баба поросят»

Елозим пальцем.

Как всем известно, Android5 имеет замечательный плоский дизайн, именуемый корпорацией добра Material Design и многим, как и мне он чертовски нравится и возникает непреодолимое желание чтобы все сторонние приложения выглядели так же. К сожалению не все разработчики поспевают за прогрессом, исключением не явилась и клавиатура Swype, которую я использую уже несколько лет, начиная с самых первых бетаверсий.
Если кто-то не в курсе, поясню: команда Swype Inc. несколько лет назад предложила революционный способ ввода текста для мобильных устройств, который позволяет набирать слова практически не отрывая палец от экрана и выпустила одноименное приложение Swype. реализующее этот метод.
Позже появилось еще несколько реализаций: Slide IT. SwiftKey. а в Android 4.2 и штатная клавиатура получила искомый функционал. Но все это, на мой взгляд, было не то, хоть и некоторые из подражателей снискали себя немалую армию фанатов.

А не сменить ли мне клавиатуру.

Некоторое время назад мне на глаза попался обзор клавиатуры из пятого андроида, и отзывы оказались на удивление положительными, а принимая во внимание, что она оформлена в духе Material Design, и что Swype пока не озаботился новой темой (да и тяжелый он, откровенно говоря), было принято решение перейти на клавиатуру Google и потестить-посмотреть.

Итак, на телефоне был установлен билд от 15-го января (cm-12-20150115-NIGHTLY-mako. zip ), я отключаю Swype и включаю клавиатуру AOSP. В настройках включен «Непрерывный ввод». Пробуем… и облом 🙁 Непрерывный ввод не работает. Ну что ж, видимо сырость прошивки всему виной (а если бы сразу загуглил, то и статьи, наверняка, не было бы 🙂 ) Я не стал отчаиваться и установил из маркета клавиатуру Google как отдельное приложение. И возрадовался. Она действительно оказалась неплоха. Огорчал только тот факт, что установлены, по сути, две одинаковых клавиатуры, они жрут место и вообще… Не ТРУЪ короче, но делать нечего, ждем свежий билд CM12. Да, нужно сказать, что все остальные способы ввода, кроме голосового я отключил, чтобы не маячили.

О! а вот и билд! cm-12-20150118-NIGHTLY-mako. zip. Установил конечно, порадовался появившейся возможности кастомизации плиток в панели уведомлений, но при попытке включить клавиатуру AOSP получил странную ошибку:

«Это точно какой-то конфликт» — подумал Штирлиц, и удалил клавиатуру Google, установленную из маркета. Оглядываясь сейчас назад я не могу сказать точно, что мной двигало, возможно, всему виной поздний вечер, и уже плохо соображающая голова. Не знаю. Но факт есть факт: Я остался с одним голосовым вводом

Я снова и снова пытался вызвать диалог смена раскладки, но безжалостный CM покрывал меня матюками на Java:

Ознакомиться с матюками

И тебя вылечим, и меня вылечим

Гугление показало, что от этого недуга пострадал не только я. Еще пара человек так же не смогли сменить способ ввода штатными средствами, причем и на Nexus 5 тоже. Значит дело все таки в новом билде CM, поломали таки цианогеновцы что-то в коде. Пофиксят конечно, но до этого момента еще дожить надо, как-то еще вконтактик и воцапчик писать все это время нужно. Значит будем чинить.

Починение, кстати, не сложное, если знать куда бить. А бить вот куда:

    Включаем в опциях разработчика root доступ для ADB, если не был включен Разрешаем там же отладку Подключаем телефон к компьютеру по USB или юзаем WiFi ADB — это уж кому как удобнее. Соединяемся ADB шеллом с телефоном и получаем привилегированный доступ
    Выполняем одну хитрую команду
    PROFIT!

Таким образом, кстати, можно включить любую другую, только предварительно нужно просмотреть список возможных способов ввода:

Дык а с непрерывным вводом-то что?

Уффф… Возможность вводить текст восстановлена, но проблема свайпа в родной клавиатуре так и не решена. И гугление таки дало решение:
Если непрерывный ввод не работает, то нужно любым файловым менеджером с root-доступом зайти в /system/lib/ и переименовать там библиотеку Libjni_latinime. so на Libjni_latinimegoogle. so и перезагрузить телефон.

… И морды эти еще противные

Ну и раз пошла такая пьянка, решил до кучи еще «разобраться» со смайлами, ибо штатные кроме рвотного рефлекса ничего не вызывают:

Мрак, адъ и Израиль.

PS: Только что установил билд от 19-го числа. Проблема с выбором способа ввода до сих пор не решена.

UPD
Свежие новости: в билде от 20-го числа проблема решена. Кстати, после установки нового ночника, библиотеку libjni_latinime. so нужно снова переименовывать. Неудобненько 🙁

 

Author: admin