TPS: использование процесса
Обзор
TOS Reverse Compilation Adaptation System (далее — TPS) — это инструмент, который позволяет адаптировать операционную систему на основе исходного кода (Google Nexus 5, далее — N5) к другим моделям. Основная идея заключается в сравнении кода N5 с исходным кодом Google Android (AOSP), а затем применении изменений к коду обратной компиляции целевой модели для завершения процесса обратной компиляции.
Команды
Требования к среде
Linux: (демонстрация среды Ubuntu 14.04) Получение последней версии инструмента TPS:
git clone https://github.com/TOSPlus/TPS
Практика
. build/envsetup.sh
В корневом каталоге TPS выполните ещё раз:
make create brand=Samsung device=N900 (имя модели, которую нужно адаптировать).
Поместите пакет N900.zip, предназначенный для адаптации модели, в каталог device/N900 и переименуйте или свяжите его как ota.zip. Пакет должен содержать каталог system и файл boot.img. Примечание: Для пакета N900 ota требуется оптимизированный пакет odex оригинального загрузочного образа. При создании каталога модели TPS создаст файл N900.zip в корне каталога модели. Этот файл содержит только каталог system. В корневой каталог этого файла необходимо поместить файл boot.img оригинального загрузочного образа N900. Этот пакет можно использовать в качестве пакета ota.
~/TESTROM/TPS/devices/N900 $ ls
boot/ config/ Makefile* ota/ N900.zip* override/ package/ patch/ progress/ tools/
Обратите внимание: из-за различий в загрузочных образах разных производителей процесс упаковки и распаковки может завершиться ошибкой. Поэтому необходимо вручную настроить пути инструментов распаковки и упаковки (рекомендуется использовать абсолютные пути для предотвращения проблем с поиском инструментов или команд во время использования). Необходимо изменить два следующих параметра в файле Makefile:
UNPACK_BOOTIMG_TOOL := defalut
PACK_BOOTIMG_TOOL := defalut
Перейдите в каталог devices/N900 и выполните команду make prepare. На этом подготовка каталога N900 завершена.
Это основной шаг процесса адаптации TPS. Здесь выполняется вся работа по вставке патчей.
На этом этапе объединённые файлы методов повторно объединяются в один полный файл smali и упаковываются. Обратите внимание: после выполнения команды make repack необходимо перейти в каталог config в каталоге N900/config, чтобы подготовить пакет.
~/TESTROM/TPS/devices/N900/config $ ls
build.prop* file_record/ misc_info.txt* remove_files.list* file_contexts* keep_files.list* recovery.fstab* tos_system_files.ignore*
Перейдите в каталог devices/N900/config и создайте файл конфигурации misc_info.txt, recovery.fstab, build.prop, remove_files.list и tos_system_files.ignore.
Шаблон misc_info.txt (основное назначение — настройка размера нескольких разделов):
recovery_api_version=3
fstab_version=2
use_set_metadata=1
multistage_support=1
update_rename_support=1
fs_type=ext4
blocksize=4096
boot_size=11534336
recovery_size=11534336
system_size=2254438400
userdata_size=12738101248
cache_size=6081744080
selinux_fc=META/file_contexts
Файл recovery.fstab можно извлечь из рабочего образа восстановления целевого устройства. Путь — /etc/recovery.fstab.
В файле build.prop заполните пустые поля шаблона, например:
ro.qrom.beaconkey=0M000V5PH01B6QQD
ro.qrom.product.device=ja3g
ro.qrom.product.device.brand=samsung
ro.qrom.build.brand=tos
ro.qrom.build.os=android4.4.2
ro.qrom.otapath=/data/media/0
qrom_disposeIcon_enable=1
qrom_permission_enable=1
Список remove_files.list представляет собой список исключений. Все элементы списка являются относительными путями, например:
app/PackageInstaller.apk
priv-app/SecMms.apk
app/RootPA.apk
lib/xxx.so
fonts/xxxx.ttf
...
tos_system_files.ignore — это список файлов TOS, которые следует игнорировать при копировании. В настоящее время из-за проблемы с внедрением media необходимо настроить следующие две позиции:
bin/mediaserver_injector
lib/libmedia_jni.so
После завершения настройки перейдите в каталог N900, выполните команду make package, чтобы создать пакет OTA. Выполнив команду make package в каталоге устройств/N900, вы получите пакет в каталоге devices/N900/package/.
~/TESTROM/TPS/devices/N900/config $ ls
N900.zip* smali/ target_files/ target_files.zip
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )