Инструкция по портированию MIUI на MTK

Тема в разделе "Общие инструкции", создана пользователем flipyo, 5 сен 2013.

  1. TopicStarter Overlay
    Оффлайн

    flipyo Новичок

    Регистрация:
    5 сен 2013
    Сообщения:
    2
    Симпатии:
    3
    Баллы:
    3
    Устройство:
    Другой
    Всем привет! Недавно начал пытаться портировать MIUI V5 на Iocean x7, опишу что делал, где возникли трудности и некоторые непонятности.

    Все действия выполняю на Ubuntu 12.04, python версии 2.7.3, для signapk.jar выделил 1.5гб оперативки.

    Первым делом скачал SDK с официального сайта по ссылке Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!

    перенёс папку android-sdk в /home/username/android-sdk

    указал пути до android-sdk

    Код:
    export PATH=${PATH}:/home/username/android-sdk/tools:/home/username/android-sdk/platform-tools



    создал папку patchrom (название может быть любое), в которой будет храниться весь проект

    Код:
    mkdir patchrom


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

    Код:
    mkdir ~/bin

    указываем путь до папки

    Код:
    PATH=~/bin:$PATH

    заливаем утилиту Repo

    Код:
    curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

    меняем права доступа

    Код:
    chmod a+x ~/bin/repo

    заходим в папку patchrom

    Код:
    cd patchrom

    инициализируем репозиторий

    Код:
    repo init -u git://github.com/MiCode/patchrom.git -b jellybean42-mtk

    заливаем необходимые файлы для проекта

    Код:
    repo sync

    создаем папку для нашего телефона (в официальном мануале папку называют xblade, назовем так же)

    Код:
    mkdir xblade

    дальше какая то команда

    Код:
    . build/envsetup.sh

    заходим в папку xblade

    Код:
    cd xblade

    подключаем телефон по кабелю и стартуем adb с правами супер пользователя

    Код:
    sudo adb kill-server
    sudo adb start-server

    если не знает команду adb, выполняем ещё раз

    Код:
    export PATH=${PATH}:/home/username/android-sdk/tools:/home/username/android-sdk/platform-tools

    и

    Код:
    sudo adb kill-server
    sudo adb start-server

    *username - это имя вашей учетной записи

    переводим телефон в режим рекавери (необходим CWM-recovery либо аналоги)

    Код:
    adb reboot recovery

    в файле /patchrom/tools/releasetools/ota_target_from_phone ищем код



    и заменяем его на



    дальше скачиваем стоковую прошивку с телефона

    Код:
    ../tools/releasetools/ota_target_from_phone -r

    создаем файл makefile и в него вписываем


    перевод мне ничего не дал, я так и не понял для чего все эти значения

    после этого получаем исходники фрэймворков

    Код:
    make workspace

    дальше как я понял совмещаем файлы miui и стоковые

    Код:
    make firstpatch

    И тут начинается самое интересное [​IMG]

    После выполнения

    Код:
    make fullota
    В папке OUT получаем файл fullota.zip
     
    simbioz, Cheshkin и Zenk нравится это.
  2. TopicStarter Overlay
    Оффлайн

    flipyo Новичок

    Регистрация:
    5 сен 2013
    Сообщения:
    2
    Симпатии:
    3
    Баллы:
    3
    Устройство:
    Другой
    После прошивки у меня возникла проблема, в logcat я увидел ошибку, но как с ней бороться я так и не понял :-( может кто подскажет?))

    Код:
    E/AndroidRuntime( 2524): *** FATAL EXCEPTION IN SYSTEM PROCESS: UI
    E/AndroidRuntime( 2524): java.lang.NoSuchFieldError: com.android.internal.policy.impl.PhoneWindowManager.mKeyguardMediator
    E/AndroidRuntime( 2524):    at com.android.internal.policy.impl.PhoneWindowManager.init(PhoneWindowManager.java)
    E/AndroidRuntime( 2524):    at com.android.internal.policy.impl.MiuiPhoneWindowManager.init(MiuiPhoneWindowManager.java:120)
    E/AndroidRuntime( 2524):    at com.android.server.wm.WindowManagerService$3.run(WindowManagerService.java:859)
    E/AndroidRuntime( 2524):    at android.os.Handler$BlockingRunnable.run(Handler.java:745)
    E/AndroidRuntime( 2524):    at android.os.Handler.handleCallback(Handler.java:725)
    E/AndroidRuntime( 2524):    at android.os.Handler.dispatchMessage(Handler.java:92)
    E/AndroidRuntime( 2524):    at android.os.Looper.loop(Looper.java:153)
    E/AndroidRuntime( 2524):    at android.os.HandlerThread.run(HandlerThread.java:60)
    вот весь Logcat
     

    Вложения:

    • logcat.txt
      Размер файла:
      2,5 МБ
      Просмотров:
      2.191
  3. Оффлайн

    strakplan Новичок

    Регистрация:
    30 ноя 2013
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    JAVA установленна?
     
  4. Оффлайн

    chichik1986 Новичок

    Регистрация:
    25 июл 2013
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Устройство:
    Другой
    А в какую директорию ложить makefile?!
     

Поделиться этой страницей

Пользователи просматривающие тему (Пользователей: 0, Гостей: 0)