Портирование LeWa OS на своё устройство
LeWa OS – достаточно популярная китайская прошивка для устройств на основе Android, которая имеет некоторые преимущества, например достаточно высокую производительность и строгий, педантичный интерфейс.
В данном материале мы разберемся, как портировать данное программное обеспечение на свой мобильный гаджет.
Нам понадобится определенный инструментарий, а именно: прошивка для девайса, который собираемся прошивать, на основе CyanogenMod (на основе Android 2.3), ROM самой LeWa OS (последнюю версию которого можно загрузить на сайте . Так как сайт на китайском языке, удобно пользоваться Google Translate), а также Total Commander (или WinRar), Notepad++ (можно также и другой качественный текстовый редактор, но желательно не стандартный блокнот), Java JDK, Android SDK и Apk Manager.
Важно! LeWa OS предназначена для устройств с экранами WVGA (800×480, HDPI) и HVGA (320×480, MDPI). Естественно, что при портировании прошивки под своё устройство, нужно, чтобы разрешение совпадало, так что для девайсов с дисплеем HVGA подойдет ROM, например, от Samsung S5830 или S5838, а с WVGA, например, – от Huawei U8800X.
Для начала заменяем все приложения из system/app, то есть удаляем из ROM CyanogenMod`а все файлы и папки в system/app, копируем туда файлы из скачанной прошивки LeWa OS:
AccountAndSyncSettings – заменяем.
ApplicationsProvider – заменяем.
Bluetooth – по желанию, можно оставить оригинал.
Browser – по желанию, можно оставить оригинал.
Calculator – заменяем.
Calendar365 365 – по желанию, можно оставить оригинал.
CalendarProvider – заменяем.
Camera – по желаниию, можно оставить оригинал.
CMParts – заменяем.
CMScreenshot – по желанию, можно оставить оригинал.
ContactsProvider – заменяем.
Cstore – заменяем.
DefaultContainerService – заменяем.
DeskClock – заменяем.
DownloadProvider – заменяем.
DownloadProviderUi – заменяем.
DrmProvider – заменяем.
Email– заменяем.
HTMLViewer – заменяем.
Intercept – заменяем.
LabiSync – заменяем.
LatinIME – по желанию, можно оставить оригинал.
LewaFc – заменяем.
LewaFeedback – заменяем.
LewaFileManager – заменяем.
LeWaFM – заменяем.
LewaLauncher – заменяем.
LocationProvider – заменяем.
MediaProvider – заменяем.
PackageInstaller – заменяем.
Pacman – заменяем.
Phone – заменяем.
PicFolder – заменяем.
PicoTts – заменяем.
PIM – заменяем.
Protips – по желанию, можно оставить оригинал.
Provision – заменяем.
QuickSearchBox – по желанию, можно оставить оригинал.
Settings – заменяем.
SettingsProvider – заменяем.
SoundRecorder – заменяем.
Superuser – заменяем.
Swapper – заменяем.
SystemUI – заменяем.
TelephonyProvider – заменяем.
TtsService – по желанию, можно оставить оригинал.
UserDictionaryProvider – заменяем.
VpnServices – заменяем.
Теперь проделываем то же самое, только с директорией system/framework, то есть удаляем файлы и папки в CyanogenMod, и переносим содержимое system/framework из LeWa OS:
am – заменяем.
android.policy – заменяем.
android.test.runner – заменяем.
bmgr – заменяем.
bouncycastle – заменяем.
com.android.location.provider – заменяем.
com.google.android.maps – можно оставить как есть.
core – заменяем.
core-junit – заменяем.
ext – заменяем.
framework – заменяем.
framework-res – заменяем.
ime – заменяем.
input – заменяем.
javax.obex – заменяем.
monkey – заменяем.
pm – заменяем.
services – заменяем.
sqlite-jdbc – заменяем.
svc – заменяем.
Из папки system/lib в LeWa OS копируем следующие библиотеки, заменяя при совпадении имен такие же в CyanogenMod:
libdss.so
liblame.so
libmicrobes_jni.so
libphoneloc_jni.so
libqpicjni86.so
libandroid_runtime.so
libams.so
libapkchecker.so
libapollo.so
libcryptor.so
liblocation.so
libminimapv315.so
libsmschecker.so
Аналогично с заменой копируем из LeWa OS в system/bin CyanogenMod’а следующие файлы:
recovery
debuggerd
su0
sysd
Копируем su из system/xbin в LeWa OS с заменой в папку system/xbin CyanogenMod’а. Так же переносим в папку system/media CyanogenMod’а файлы bootanimation.zip, default.lwt lockscreen.zip из такой же директории в LeWa OS. Из LeWa OS переносим phoneloc.dat из папки system/usr/share в такую же папку создаваемой прошивки.
Открываем build.prop нашей прошивки на основе CyanogenMod`а текстовым редактором, добавляем такие строки:
ro.lewa.version=(прописываем свою версию)
ro.lewa.device=(название устройства)
ro.error.receiver.system.apps=com.lewa.fc
ro.error.receiver.default=com.lewa.fc
persist.sys.notif-speaker=1
persist.sys.ring-speaker=1
persist.sys.alarm-speaker=1
ro.lewa.swapper.flash_swappiness=99
ro.lewa.swapper.sd_swappiness=60
ro.lewa.swapper.part_path=/dev/block/mmcblk0p3
Теперь открываем updater-script (данный файл находится в директории META-INFcomgoogleandroid) CyanogenMod`а, ищем строку:
set_perm(1000, 1003, 02755, «/system/bin/screenshot»);
После которой добавляем следующее:
set_perm(0, 0, 06755, «/system/bin/su0»);
Вот и всё, порт готов, имеем LeWa OS на основе CyanogenMod. Прошивем новую прошивку на свой девайс и пользуемся. Напомним, что перед любыми действиями с программным обеспечением настоятельно рекомендуется делать резервные копии.
А на Алкатель 6012х можно эделать так на родную прошивку?