Ошибка при создании файла oat для исправленных классов dex

Обновлено: 28.06.2024

В этом руководстве представлены форматы Android, а также API для их использования. Речь идет о DEX, OAT, VDEX и ART.

Файлы, используемые в этом руководстве, доступны в репозитории учебных пособий

Ромен Томас - @rh0main

Введение¶

Начнем с краткого напоминания об компиляции, установке и выполнении приложений Android.

При разработке приложений основная часть кода обычно пишется на Java. Разработчики также могут писать собственный код ( C/C++ ) через интерфейс Java Native Interface (JNI).

В процессе сборки APK код Java в конечном итоге преобразуется в байт-код Dalvik, который интерпретируется виртуальной машиной Android Java. JVM для Android отличается от реализации Oracle, и среди отличий она основана на регистрах, тогда как виртуальная машина Oracle основана на стеке.

Для создания байт-кода Dalvik исходные коды Java сначала компилируются с помощью javac в байт-код Java, а затем Android преобразует этот байт-код в байт-код Dalvik с помощью компилятора dx (или нового: D8). Этот байт-код, наконец, завернут в файл(ы) DEX, такой как class.dex . Формат DEX специфичен для Android, и документация доступна здесь.

Во время установки APK система применяет оптимизацию к этому файлу DEX, чтобы ускорить выполнение. Действительно, интерпретация байт-кода не так эффективна, как выполнение собственного кода, а виртуальная машина Dalvik основана на регистрах с шириной 32 бита, тогда как большинство современных ЦП имеют ширину 64 бита.

Чтобы решить эту проблему, до Android 4.4 (KitKat) среда выполнения использовала JIT-компиляцию для преобразования байт-кода Dalvik в сборку. JIT происходил во время выполнения и выполнялся каждый раз при выполнении приложения. Начиная с Android 4.4 они перешли на новую среду выполнения, которая, помимо других функций, выполняет оптимизацию во время установки. Следовательно, установка занимает больше времени, но преобразование в собственный код выполняется один раз.

Это формат по умолчанию, используемый Linux и Android для упаковки ассемблерного кода.

Это позволяет использовать тот же загрузчик: /system/bin/linker

Файлы OAT на самом деле являются файлами ELF, поэтому мы решили добавить этот новый формат в LIEF. Этот формат ELF на самом деле используется в качестве оболочки поверх другого формата, специфичного для Android: формата OAT.

В основном связанный с ELF экспортирует несколько символов:

Эти разные форматы могут немного сбивать с толку, и если подытожить:

DEX преобразуются в файлы .odex, которые в основном представляют собой файлы ELF, заключенные в пользовательский формат OAT.

Структура OAT плохо документирована, а ее внутренние структуры меняются для каждой версии Android без обратной совместимости. Это означает, что файлы OAT, созданные на Android 6.0.1, можно использовать только в этой версии.

В платформе Android исполняемый файл dex2oat отвечает за преобразование и оптимизацию файлов APK DEX в OAT. Этот исполняемый файл находится в каталоге /system/bin/, и мы можем получить его вывод через logcat:

Вышеприведенный результат представляет собой преобразование файлов SaftyNet DEX, расположенных в /data/user/0/com.google.android.gms/snet/installed/snet.jar , в OAT, сохраненный в /data/user/0. /com.google.android.gms/snet/dalvik-cache/snet.dex .

Можно заметить, что расширение .dex, поэтому это должен быть файл DEX, а не OAT. На самом деле, если мы проверим тип:

Мы видим эльфа.

Не доверяйте расширениям: .dex может быть DEX или OAT, .odex – OAT, .oat – OAT, …

Процесс преобразования исходного кода Java в OAT можно упростить с помощью следующей схемы:

Недостающий DEX¶

Если мы анализируем приложения из Google PlayStore, у нас обычно есть файлы class.dex в APK. Поскольку этот файл содержит байт-код Dalvik, большинство инструментов используют этот файл для выполнения анализа (декомпиляции, статического анализа и т. д.)

Просматривая файлы в SecSettings2.apk, мы не можем найти файлы .dex:

Рядом с SecSettings2.apk мы находим SecSettings2.odex, который представляет собой файл OAT, полученный в результате оптимизации отсутствующего файла DEX. Поскольку разработчики ПЗУ контролируют версию Android и целевую архитектуру, им достаточно предоставить файл OAT.

Они также могут использовать эту "функцию", чтобы избежать анализа и обратного проектирования приложения. Поскольку байт-код Dalvik находится в файле DEX, без этого файла анализ весьма ограничен.

К счастью, в OAT есть копия оригинального DEX! На самом деле это не точная копия, так как dex2oat заменяет некоторые инструкции Dalvik (например, invoke-virtual) на оптимизированные 1, но, начиная с Android N, мы также можем восстановить исходные инструкции.

classes.odex: OAT, содержащий собственный код

Файлы DEX, изначально находившиеся в OAT, были экспортированы в новый файл с новым форматом: формат VDEX. Этот новый формат полностью отличается от OAT, особенно это не ELF.

Подобно формату OAT, внутренние структуры VDEX меняются для каждой версии Android без обратной совместимости.

Также существуют инструменты 4, 5, 6 для извлечения DEX из файлов OAT/VDEX, но извлечение 3 ограничено либо OAT 4, либо VDEX 5. С помощью LIEF мы стремимся предоставить единую структуру для работы с этими форматами.

ОАТ и VDEX¶

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

В настоящее время он поддерживает файлы OAT от Android 6.0 Marshmallow (OAT v64) до Android 8.0.1 Oreo (OAT v131).

Версия OAT доступна с помощью функции lief.OAT.version():

Можно также получить доступ к соответствующей версии Android с помощью функции lief.OAT.android_version() :

Чтобы выразить тот факт, что файлы OAT являются первыми файлами ELF, класс Lief.OAT.Binary расширяет класс Lief.ELF.Binary

Таким образом, доступен тот же ELF API: добавление разделов, изменение динамических записей и т. д., а объект lief.OAT.Binary добавляет следующие методы: класс lief.OAT. Бинарный

Двоичное представление OAT

Вернуть итератор по классу

свойство dex2dex_json_info свойство dex_files

Вернуть итератор для файла

get_class ( * args , ** kwargs )

Вернуть класс по его имени

Вернуть класс из его индекса

Проверить, присутствует ли класс с заданным именем в текущем двоичном файле OAT

класс it_classes класс it_dex_files класс it_methods класс it_oat_dex_files свойство методы

Вернуть итератор по методу

Возвращает итератор по DexFile

Если данный OAT нацелен на Android Marshmallow или Nougat (6 или 7), то файлы DEX можно получить с помощью атрибута lief.OAT.Binary.dex_files:

Из приведенного выше кода файл lief.DEX.File извлечен в /tmp/classes.dex (с деоптимизацией).

Если данный OAT предназначен для Android Oreo или выше, извлечение выполняется с использованием файла VDEX. Функция lief.OAT.parse() принимает файл OAT или файл OAT и файл VDEX. При предоставлении файла VDEX во втором параметре объект lief.OAT.Binary будет иметь те же функции, что и объект OAT до Oreo.

Если файл VDEX не предоставлен, то в файле lief.OAT.Binary будет ограниченная информация:

Мы также можем напрямую использовать модуль VDEX LIEF:

Поскольку формат VDEX полностью отличается от форматов OAT, ELF, PE и Mach-O, синтаксический анализатор VDEX создает объект lief.VDEX.File, а не двоичный файл . Мы также можем извлекать файлы DEX с атрибутом lief.VDEX.File.dex_files:

Предыдущая часть была посвящена форматам OAT/VDEX и доступу к базовому DEX. В этой части представлен основной API для объекта lief.DEX.File.

Модуль LIEF DEX позволяет получить информацию о коде Java, такую ​​как String, имя класса, байт-коды dalvik и т. д.

Поскольку проект LIEF ориентирован только на форматы, в модуле DEX не будет дизассемблера Dalvik.

Основной API для файла DEX находится в объекте lief.DEX.File. Этот объект можно создать с помощью:

  • lief.OAT.Binary.dex_files

  • lief.VDEX.File.dex_files

  • lief.DEX.parse()

После создания мы можем получить доступ к строкам с помощью атрибута lief.DEX.File.strings:

Аналогичным образом методы и классы доступны с атрибутами lief.DEX.File.classes/lief.DEX.File.methods:

В формате файла DEX есть специальный атрибут для классов, которые регистрируют исходное имя исходного файла: source_file_idx. Некоторые обфускаторы искажают классы, но сохраняют этот атрибут! Поскольку имена исходных файлов Java связаны с именами классов, мы можем легко восстановить деобфускированное имя, используя:

  • lief.DEX.Class.source_filename

  • lief.DEX.Class.pretty_name

ART — это название среды выполнения Android, но это еще и формат! Этот формат используется в целях оптимизации платформой Android.

При создании экземпляра нового класса Java создается зеркальный объект C++ (выделение памяти, вызов конструкторов и т. д.), а JVM обрабатывает ссылку на этот объект C++. Чтобы ускорить процесс загрузки и избежать создания экземпляров хорошо известных классов 2 при каждой загрузке, Android использует формат ART для хранения экземпляров объектов C++. Для упрощения его можно рассматривать как дамп кучи объектов C++.

Так же, как OAT и VDEX, внутренняя структура этого формата меняется для каждой версии Android.

LIEF 0.9 имеет очень базовую поддержку этого формата и предоставляет только ART LIEF.ART.Header .Основной API доступен в объекте lief.ART.File.

последнее слово¶

LIEF 0.9 только для чтения в этих форматах, но последующие версии должны позволять изменять их (добавлять методы, изменять имена, исправлять контрольную сумму и т. д.)

Обычно из Android Framework

У них есть и другие полезные функции, такие как дизассемблер, псевдокод и т. д., которых нет в LIEF

2.) Я использую гарнитуру Plantronics BT. Я не пользуюсь автомобильным.

Кроме того, у меня не установлен xposed. Только с использованием root, полученного из rom.

грот84

Старший участник

Привет, ребята,
У меня возникла странная проблема с новейшей версией (12 июня), когда я использовал Lucky Patcher (пожалуйста, не комментируйте, я использую это), я получил:
"Ошибка создания файла . oat для пропатченных классов.dex. Ваша прошивка может иметь ошибку в библиотеках ART (Android RunTime)"
Я вернулся к апрельской версии, и там она работает нормально.
Есть идеи, что могло измениться. Можно ли это исправить?

Робан

Старший участник

Привет, ребята,
У меня возникла странная проблема с новейшей версией (12 июня), когда я использовал Lucky Patcher (пожалуйста, не комментируйте, я использую это), я получил:
"Ошибка создания файла . oat для пропатченных классов.dex. Ваша прошивка может иметь ошибку в библиотеках ART (Android RunTime)"
Я вернулся к апрельской версии, и там она работает нормально.
Есть идеи, что могло измениться. Можно ли это исправить?

В этом месяце Google внедрил новый код, возможно, это связано с этим.

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

ненавистный бутерброд

Старший участник

Последней версией этого ПЗУ, которую я использовал, была Beta 5, и я откладывал обновление из-за проблем, упоминавшихся в каждом выпуске. Я подумал, что Stable 2 может быть «единственной», и скачал ее вскоре после ее выпуска. Я установил его после форматирования в ext4 из f2fs (у меня никогда не было проблем с f2fs в бета-версии 5, но я подумал, что безопаснее вернуться к ext4), поэтому полностью чистая установка. Я использую Banks Gapps.

На данный момент я не сталкивался со случайными перезагрузками, но приложения продолжают закрываться без предупреждения или объяснения причин, особенно UC Mini Browser. Разрядка батареи намного хуже по сравнению с Beta 5, хотя в целом телефон работает холоднее. Мой GPS в порядке, а BT, кажется, улучшился, хотя я не особо им пользуюсь. Я еще не пытался звонить по телефону, но я получаю их без проблем.

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

Отправлено с моего GT-I9505 с помощью мобильного приложения XDA Free

ОграниченияX

Старший участник

Последней версией этого ПЗУ, которую я использовал, была Beta 5, и я откладывал обновление из-за проблем, упоминавшихся в каждом выпуске. Я подумал, что Stable 2 может быть «единственной», и скачал ее вскоре после ее выпуска. Я установил его после форматирования в ext4 из f2fs (у меня никогда не было проблем с f2fs в бета-версии 5, но я подумал, что безопаснее вернуться к ext4), поэтому полностью чистая установка. Я использую Banks Gapps.

На данный момент я не сталкивался со случайными перезагрузками, но приложения продолжают закрываться без предупреждения или объяснения причин, особенно UC Mini Browser. Разрядка батареи намного хуже по сравнению с Beta 5, хотя в целом телефон работает холоднее. Мой GPS в порядке, а BT, кажется, улучшился, хотя я не особо им пользуюсь. Я еще не пытался звонить по телефону, но я получаю их без проблем.

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

Отправлено с моего GT-I9505 с помощью мобильного приложения XDA Free


Я играл в игру под названием Traffic Riders, и она случайным образом закрылась на мне — это случилось только один раз. Это единственная проблема. Все остальные приложения до сих пор работали нормально. :\ почему бы не сделать полный вайп, отформатировать данные и потом попробовать?

Лекс008

Член

Я пытался использовать выпуск от 12 июня в течение нескольких дней (чистая установка, установлено только несколько приложений), и мне пришлось вернуться к выпуску за февраль: проблемы с "общим доступом по Bluetooth остановлены", случайные перезагрузки, камера по-прежнему не работает. в 16/9. Очень жаль. Но все равно спасибо за работу, я знаю, что это непросто.

ненавистный бутерброд

Старший участник

Я играл в игру под названием Traffic Riders, и она случайным образом закрылась на мне — это случилось только один раз. Это единственная проблема. Все остальные приложения до сих пор работали нормально. :\ почему бы не сделать полный вайп, отформатировать данные и потом попробовать?

Как я уже сказал, я перешел с f2fs на ext4. Это включало полную очистку и форматирование данных. Я видел, как другие упоминали, что приложения часто закрывались — в частности, кто-то еще упомянул браузер Opera, поэтому я не думаю, что я единственный, кто испытывает проблемы с этим. Я также испытал это с Metal и Brain it On.Это не то, с чем я не могу справиться или что-то в этом роде, и я слишком ленив, чтобы тратить время на очистку, перепрошивку и настройку приложений снова и снова. Просто добавлю свой 2c опыт работы с последней версией


Отправлено с моего GT-I9505 с помощью мобильного приложения XDA Free

век

Старший участник

Я пытался использовать выпуск от 12 июня в течение нескольких дней (чистая установка, установлено только несколько приложений), и мне пришлось вернуться к выпуску за февраль: проблемы с "общим доступом по Bluetooth остановлены", случайные перезагрузки, камера по-прежнему не работает. в 16/9. Очень жаль. Но все равно спасибо за работу, я знаю, что это непросто.


Я также чистил февральскую версию, когда у меня никогда не было проблем с Bluetooth, но появляется сообщение «К сожалению, Bluetooth перестал работать».
Опять чистая установка CM12.1 (Снимок от 17.11.2015) и опять то же самое "К сожалению, Bluetooth перестал работать".
Теперь я вернулся со стандартным ПЗУ (5.0.1), где все работает, и жду следующего выпуска, когда бы он ни был.

Признанный разработчик/участник

Я также очищаю Install the February edition, когда у меня никогда не было проблем с Bluetooth, но появилось сообщение "К сожалению, Bluetooth перестал работать".
Опять чистая установка CM12.1 (Снимок от 17.11.2015) и опять то же самое "К сожалению, Bluetooth перестал работать".
Теперь я вернулся со стандартным ПЗУ (5.0.1), где все работает, и жду следующего выпуска, когда бы он ни был.

Солнечный чеснок

Старший участник


Поздравляем с хорошей работой над обеими версиями!
Будет ли обновление BT, сделанное вами в optcm13, также применяться к AOSP?
(не смею спросить когда )

фридрик

Старший участник

Установил open gapps pico и теперь вроде бы зависания прекратились. Очевидно, виноват a-gapps.?

Enviado de meu GT-I9505 usando Tapatalk

Джейми

Старший участник

Установил open gapps pico и теперь вроде бы зависания прекратились. Очевидно, виноват a-gapps.?

Enviado de meu GT-I9505 usando Tapatalk


Что касается OptCM13, мы также определили пакет opengapps pico как наименее проблематичный пакет gapps по сравнению со всеми остальными. :хайпять:

Признанный разработчик/участник

Поздравляем с хорошей работой над обеими версиями!
Будет ли обновление BT, сделанное вами в optcm13, также применяться к AOSP?
(не смею спросить когда )

Да, это уже есть. Просто нужно построить дружище. Верю до конца новых выходных

Отправлено с моего SM-G930F через Tapatalk

грот84

Старший участник

В этом месяце Google внедрил новый код, возможно, это связано с этим.

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


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

Имя пользователя FPS

Старший участник

Что касается OptCM13, мы также определили пакет opengapps pico как наименее проблематичный пакет gapps по сравнению со всеми остальными. :хайпять:

Ура, это гаппсы, которые я использую начиная с 5.X

Отправлено с моего GT-I9505 с помощью Tapatalk

---------- Сообщение добавлено в 10:31 ---------- Предыдущее сообщение было в 10:23 ----------

@-+BB+- У меня есть toyota yaris 2015 года, чтобы «поиграть», и когда я использую bt, я не могу получить доступ к хранилищу. Музыка работает нормально, но я могу выбрать ее только с телефона. Он должен иметь возможность перемещаться по моему хранилищу в автомобильном компьютере, но этот параметр недоступен

Отправлено с моего GT-I9505 с помощью Tapatalk

Джейми

Старший участник

Имя пользователя FPS

Старший участник

При использовании Wi-Fi + WhatsApp телефон немного нагревается. При использовании 3g + whatsapp батарея сильно разряжается, процессор сгорает.

Отправлено с моего GT-I9505 с помощью Tapatalk

Джейми

Старший участник

При использовании Wi-Fi + WhatsApp телефон немного нагревается. При использовании 3g + whatsapp батарея сильно разряжается, процессор сгорает.

Отправлено с моего GT-I9505 с помощью Tapatalk


Сравниваете ли вы свой опыт работы с новой сборкой OptCM13 6/18? Мне любопытно посмотреть, получаете ли вы такой же жар при использовании WhatsApp.

Имя пользователя FPS

Старший участник

Сравниваете ли вы свой опыт работы с новой сборкой OptCM13 6/18? Мне любопытно посмотреть, получаете ли вы такой же жар при использовании WhatsApp.

Хм, я не использую cm, так как не могу использовать слои, и наконец-то нашел хороший (гранж)

Отправлено с моего GT-I9505 с помощью Tapatalk

Джейми

Старший участник

Хм, я не использую cm, так как не могу использовать слои, и наконец-то нашел хороший (гранж)

Отправлено с моего GT-I9505 с помощью Tapatalk

Похожие темы

Хлебные крошки

Самые популярные публикации

ASPzpI6.jpg

SsGP4rj.jpg

Проект Marshmallow с открытым исходным кодом для Android
Представлен вам командой разработчиков Jflte DevConnection

Что такое AOSP?
AOSP — это Android, опубликованный Google, без других модификаций. Более или менее AOSP — это стоковая прошивка устройств Nexus без гаппсов. В любом случае, чтобы получить работающую систему, я и @AntaresOne добавили некоторые изменения из CyanogenMod.
Пожалуйста, не просите о добавлении функций, потому что мы не собираемся добавлять больше, чтобы это ПЗУ оставалось небольшим, быстрым и чистым.

  • Диего Монако — @alucard_24
  • Димитрис Катикаридис — @side
  • Франк Роэ - @franzyroy
  • Рэй Дейли — @gadget!
  • Джим Сильверлок — @Jimsilver73
  • Хосе Адольфо Гальдамес - @josegalre
  • Марко Занин - @-+BB+-
  • Мэттью Бут — @MattBooth
  • Маттиа Д'Аллева — @AntaresOne
  • Майк Аткинс — @FernBch
  • Оливер — @angelcalibur
  • Пол Харрис — @hawkerpaul
  • Пол Кит — @javelinanddart
  • Семен Иванов - @smstiv
  • Стефано Мерони - @smeroni68
  • Янис – @SkL*

Нажмите на скриншоты, чтобы открыть их в полном размере:

  • ANT+ (не поддерживается)
  • Вы расскажете нам

Скачать
Сборки ПЗУ размещены на RomHut

TWRP Recovery v3.0.0-0 с поддержкой F2FS (тема JDC): RomHut

Поддерживаемые варианты устройств: I9505, I9505G, I9507, I9508, I337, M919, I545, R970, L720, S970G, S975L (I9515 и I9500 не поддерживаются).

Пользователи AT&T и Verizon: поскольку ваш загрузчик заблокирован, вы должны использовать загрузчик UCUAMDB или UCUAMDL, если у вас есть телефон AT&T, в противном случае, если у Verizon, вы должны использовать загрузчик VRUAMDK, чтобы использовать это ПЗУ. Сделайте getprop ro.bootloader в эмуляторе терминала или через оболочку ADB, чтобы узнать, какой у вас загрузчик

  1. Загрузите ПЗУ по ссылке выше
  2. Загрузить пакет GApps для Marshmallow 6.0
  3. Загрузить пакет ThemeReady GApps для руки MM
  4. Поместите ZIP-файлы на SD-карту.
  5. Перезагрузитесь в режиме восстановления
  6. Очистить данные/сбросить настройки
  7. Необязательно: преобразовать в F2FS
  8. Выберите «Установить zip с SD-карты».
  9. Выберите ZIP-файл AOSP ROM.
  10. Выберите ZIP-файл GApps.
  11. Выберите ZIP-файл TBO GApps (необходим для полного оформления некоторых Gapps с наложениями OMS)
  12. Вспышка
  13. Перезагрузить систему

Первая загрузка после установки/обновления занимает некоторое время, подождите не менее 5 минут для загрузки.

Чтобы преобразовать кеш, данные и системные разделы в F2FS, см. сообщение ниже.

  • Прошивка предварительно рутирована и содержит встроенный SuperSU v2.79 SR3.
  • Приложение JDC Toolbox дает вам возможность управлять последовательностью светодиодов при загрузке, выбором ИК-драйвера и многим другим.
  • Busybox предустанавливается вместе с ядром Alucard, но находится в отдельном месте. Начиная со Stable 6 можно установить другую версию busybox, и это не помешает работе STWeaks.
  • Некоторые телефоны имеют проблемы с сенсорным экраном, который иногда не отвечает (скачайте стоковое ядро ​​из romhut и протестируйте его)
    [*]Тематика: из этой сборки ром имеет новый SUBSTRATUM THEME ENGINE . Используйте интегрированное приложение Substratum для применения наложений OMS (OverlaysManagerService). Слои RRO больше не будут работать.
    [*]Тематика: чтобы применить оверлеи OMS к некоторым приложениям, вам также необходимо прошить TBO GoogleApps-ThemeReady-LP-MM-N-v31.0.zip сразу после вашего пакета Gapps от выздоровления. Это означает, чтобы быть ясным: ROM + GAPPS + TBO
  • Мы используем BLOB-объекты 5.1 для радиоинтерфейса. Обновите свой телефон до последней версии Baseband и Bootloader, доступных для вашего варианта (должна быть официальная версия Baseband версии 5.0)
  • Мы не рекомендуем использовать xposed framework, но прошивка его поддерживает
  • Для устройств с заблокированным загрузчиком (таких как Verizon и AT&T) последний пакет SuperSU установить не удастся. Пожалуйста, после прошивания предоставьте ручную установку более старой версии SuperSU zip (версия v2.52), а затем обновите ее из игрового магазина до последней официальной версии apk.
  • Команда JDCT
  • CyanogenMod
  • Google : скриншоты, советы и рекомендации
  • РомХат
  • gkkovacs — JDCTeam-Build01
  • Азузиэль — JDCTeam-Build02
  • Команда Codefire — JDCTeam-Build03

ROM Версия ОС: 6.0.x Marshmallow
Ядро ROM: Linux 3.4.x
На основе: AOSP

Информация о версии
Статус: стабильная
Текущая стабильная версия: стабильная 11
Дата выпуска стабильной версии: 12 марта 2017 г.

Создано 18 ноября 2015 г.
Последнее обновление 12 марта 2017 г.

Сообщить о проблемах

Такие фразы, как "это не работает", "постоянно работает FC", "найдена ошибка: *someapp* FC" и т. д., не помогают. Нам нужны журналы. .

  • Залито другое ядро
  • Установлены или установлены моды из ненадежных источников
  • Установлен Xposed
  • Измененные системные файлы
  • Ядро
    • Общие обновления кода
    • VoIP: дополнительные исправления и обновления
    • Исправлено sdcardfs
    • Gemini/Jflte: включите sdcardfs
    • Добавить LG G5 International в сборку устройств (WIP)
    • jflte: удалить неиспользуемые графические библиотеки
    • jflte: дополнительные исправления для микшеров VoIP
    • Substratum: обновление до v470 (необходима полная деинсталляция/удаление установленных тем и оверлеев!)
    • Обновите исходные коды до Android 6.0.1 версии 74.
    • Gemini: обновите BLOB-объекты до прошивки MIUI 6.9.29 dev
    • Датчики: устраните утечку памяти
    • WebWiev: обновление до последних стабильных и бета-версий, выпущенных Google
    • Ramdisk: небольшие исправления
    • Xposed: jni: рассматривать /data/app в белом списке fd, если обнаружен Xposed
    • Чтобы включить параметры разработчика, откройте "Настройки" > "О телефоне" и нажмите "Номер сборки" 7 раз подряд.
    • Перейдите в «Настройки»> «Wi-Fi», затем включите Wi-Fi, нажмите клавишу Option и перейдите в «Дополнительно» и «Отключить уведомление о сети».
    • Перейти к настройкам>Дополнительно, затем отключить NFC
    • Выберите «Настройки»> «Дополнительно»> «Сотовые сети». Если вы не используете мобильные данные, вы можете выбрать 2G в качестве предпочтительного типа сети.
    • Если вам не нужна автоматическая регулировка яркости экрана, выберите «Настройки» > «Отображение и отключение адаптивной яркости».
    • Перейдите в меню «Настройки»> «Экран»> «Меню питания» и установите флажок «Панель снимков экрана и звука».
    • Откройте «Настройки»> «Экран»> «Последние приложения», снимите флажок «Панель поиска» и установите флажок «Полноэкранные недавние» и установите флажок «Очистить все», выберите «Очистить все местоположение» и выберите «Внизу по центру».
    • Если вы не используете окружающий дисплей, выберите «Настройки»> «Экран»> «Жесты и отключите окружающий дисплей».
    • Если вам не нужна аппаратная подсветка клавиш, перейдите в «Настройки»> «Отображение» и выберите «Подсветка» и «Отключите подсветку».
    • Откройте «Настройки»> «Звуки и уведомления»> «Другие звуки» и отключите их все.
    • Перейдите в «Настройки»> «Supersu» и нажмите «Нет, спасибо», затем перейдите на вкладку «Настройки» и снимите флажок «Повторная аутентификация», выберите «Доступ по умолчанию», затем выберите «Предоставить» и снимите флажок «Показывать уведомления».
    • Откройте «Настройки»> «Об устройстве» и несколько раз нажимайте номер сборки, пока не разблокируются параметры разработчика.
    • Откройте "Настройки" > System UI Tuner и включите параметр "Показывать процент встроенного заряда батареи".
    • В разделе «Настройка»> «System UI Tuner»> «Быстрые настройки» вы можете настроить свои любимые быстрые настройки.

    Использование F2FS
    Что это такое? Википедия

    Чтобы использовать его, вы должны сначала преобразовать разделы EXT4 через восстановление перед установкой этого ПЗУ.

    Теперь вы можете установить это ПЗУ, выполнив шаги по установке, описанные в сообщении выше

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

    Lucky Patcher не работает

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

    Шаги по устранению проблемы с неработающим Lucky Patcher

    В редких случаях вы можете увидеть, что Lucky Patcher не работает или не работает всплывающее окно на вашем устройстве. Поскольку он недоступен в качестве официального приложения для Android, файл может время от времени давать сбой, в результате чего Lucky Patcher не работает. Это наиболее частый сценарий, когда вы пытаетесь удалить покупку в приложении. Чтобы устранить проблемы, возникающие при удалении покупок в приложении, выполните следующие действия.

    Шаг 1. Сначала вам нужно выбрать любое приложение, в котором вы хотите удалить встроенную покупку.

    Шаг 2. На следующем экране вы увидите раскрывающееся меню, в котором вам нужно выбрать параметр «Открыть меню исправлений».

    Шаг 3. Откроется всплывающее окно, и вам нужно выбрать параметр «Создать измененный файл Apk».

     Нажмите «Создать измененный файл Apk» width=

    .

    Шаг 4. На следующем экране появится еще одно меню параметров, в котором вам нужно нажать на параметр «Выбрать патч для эмуляции в приложении и LVL».

    Шаг 5. Теперь вам необходимо перезагрузить устройство и снова запустить приложение.

    Шаг 6. Вы увидите всплывающее окно Lucky Patcher вместо всплывающего окна приложения Android. Чтобы продолжить, нажмите кнопку "ОК".

    В большинстве случаев это решит проблему с неработающим Lucky Patcher.

    Вам может понравиться Как обновить последнюю версию Lucky Patcher

    Не удается решить проблему с неработающей программой Lucky Patcher? Попробуйте

    Если вы по-прежнему сталкиваетесь с проблемами, когда Lucky Patcher не работает даже после удаления покупки в приложении, это может быть вызвано несколькими причинами. Чтобы решить эту проблему, вы можете попробовать любой из пунктов, приведенных ниже, чтобы исправить это.

    • Убедитесь, что на вашем устройстве установлена ​​последняя версия Lucky Patcher Apk. Старая версия иногда может вызывать такую ​​проблему.
    • Попробуйте изменить дату на устройстве Android. Хотя это кажется старым приемом, он может помочь вам решить проблему с неработающим Lucky Patcher.

     К сожалению, Lucky Patcher остановился

    • Вы даже можете попробовать удалить обновления, сделанные вами в приложении Lucky Patcher. Он может автоматически отменить все действия Lucky Patcher в других приложениях и вернуться в нормальное состояние.
    • Иногда apk-версия целевого приложения не поддерживается приложением Lucky Patcher, и поэтому проблема с неработающим Lucky Patcher становится неразрешимой.
    • Попробуйте удалить apk Lucky Patcher со своего устройства и установить его новую версию. Иногда это может исправить проблему, и вы сможете использовать ее без каких-либо проблем.

    Заключение

    Мы надеемся, что статья помогла вам наилучшим образом решить проблемы с неработающим Lucky Patcher, следуя инструкциям. Если вы все еще сталкиваетесь с проблемами, сообщите нам об этом и позвольте нам решить их.

    Читайте также: