• (NOT OK) How To Build CyanogenMod Android for Motorola Defy ("jordan")


    yum install java-devel
    yum install java-1.6.0-openjdk-devel
    updatedb
    locate javac

    # dd if=/dev/zero of=/run/media/root/Elements/ztguang/android.iso bs=1M count=112640
    # mkfs.ext4 /run/media/root/Elements/ztguang/android.iso
    # mount /run/media/root/Elements/ztguang/android.iso /mnt/iso

    # mkdir -p /mnt/iso/android-source/android/system
    # cd /mnt/iso/android-source/android/system

    -----------------------------------------------
    [root@localhost system]# gedit .repo/manifests/default.xml
               fetch="https://android.googlesource.com"
    改为
               fetch="https://aosp.tuna.tsinghua.edu.cn/"

               fetch="git://aosp.tuna.tsinghua.edu.cn/aosp/"
    -----------------------------------------------
    [root@localhost system]# gedit /bin/repo

    REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/aosp/'
    -----------------------------------------------

    # repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
    # repo sync -j16; while [ $? = 1 ]; do sleep 1; repo sync -j16; done

    # cd vendor/cyanogen
    # ./get-rommanager                //Once completed, this does not need to be done again.

    # cd /mnt/iso/android-source/android/system
    # source build/envsetup.sh
    # lunch        or        # lunch cm_jordan-userdebug        or        # lunch full_jordan-userdebug

    # cd device/motorola/jordan
    # ./extract-files.sh        //Now ensure that your Defy is connected to your computer via the USB cable

    # cd -
    # export USE_CCACHE=1
    # prebuilt/linux-x86/ccache/ccache -M 50G

    # export PATH=/usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/:$PATH

    # croot
    # brunch jordan

    -----------------------------------------------没有/mnt/iso/android-source/android/system/device/motorola/jordan文件夹的解决方法
    在    https://github.com/CyanogenMod
    搜索(filters)  android_device_motorola_jordan
    下载得到 android_device_motorola_jordan-gb-release-7.2.zip,然后,解压,内容复制到 device/motorola/jordan中

    单独 clone jordan
    [root@localhost tmp]# git init
    [root@localhost tmp]# git clone https://github.com/CyanogenMod/android_device_motorola_jordan.git

    -----------------------------------------------
    target Prebuilt: gdbserver (out/target/product/jordan/obj/EXECUTABLES/gdbserver_intermediates/gdbserver)
    make: *** 没有规则可以创建“out/target/product/jordan/obj/lib/libaudio.so”需要的目标“vendor/motorola/jordan/proprietary/lib/libaudio.so”。 停止。
    make: *** 正在等待未完成的任务....

    解决方法:
    下载 libaudio.so (搜索关键字:jordan libaudio.so)        到    /opt/tools/
    [root@localhost system]# cp /opt/tools/libaudio.so vendor/motorola/jordan/proprietary/lib/
    [root@localhost system]# cp /opt/tools/libaudio.so out/target/product/jordan/system/lib/

    -----------------------------------------------
    修改 .repo/manifests.git/config,将
        url = git://github.com/CyanogenMod/android.git
    更改为
        url = git://aosp.tuna.tsinghua.edu.cn/aosp/platform/manifest
        # 或 url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
    这个方法也可以用来在同步 Cyanogenmod 代码的时候从 TUNA 同步部分代码


    -----------------------------------------------如下尝试,若不行,则还原
    [root@localhost motorola]# ls
    common  jordan  jordan-common
    [root@localhost motorola]# mv jordan jordan.bac
    [root@localhost motorola]# cp -a jordan-common/ jordan
    [root@localhost motorola]# cd jordan
    [root@localhost jordan]# mv jordan-common-blobs.mk jordan-blobs.mk
    [root@localhost jordan]# mv jordan-common.mk jordan.mk

    -----------------------------------------------
    error: Cannot fetch CyanogenMod/android external svox.
    error: Cannot fetch CyanogenMod/android hardware ti wpan.

    [root@localhost system]# gedit .repo/manifests/default.xml

               fetch="https://aosp.tuna.tsinghua.edu.cn/"
    改为
               fetch="https://android.googlesource.com"

    删除line129,  <project path="external/svox" name="CyanogenMod/android_external_svox" />
    删除line162,  <project path="hardware/ti/wpan" name="CyanogenMod/android_hardware_ti_wpan" />

    添加:
      <project path="device/motorola/jordan" name="CyanogenMod/android_device_motorola_jordan" />
    -----------------------------------------------
    Your version is: java version "1.7.0_91".
    The correct version is: 1.6.

    export PATH=/usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/:$PATH
    -----------------------------------------------


    -----------------------------------------------
    make: *** [out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/V8HTMLElementWrapperFactory.h] 错误 255
    make: *** 正在等待未完成的任务....
    make: *** [out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h] 错误 255
    make: *** [out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLElementFactory.h] 错误 255


    解决方法:
    [root@localhost system]# gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLElementFactory.h
    内容是:http://www.opensource.apple.com/source/WebCore/WebCore-332/html/HTMLElementFactory.h
    https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/HTMLElementFactory.cpp

    [root@localhost system]# gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/V8HTMLElementWrapperFactory.h
    内容是:https://github.com/Treeeater/chrome_release_webkit_bindings/blob/master/V8HTMLElementWrapperFactory.h
    https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/V8HTMLElementWrapperFactory.cpp

    [root@localhost system]# gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h
    内容是:https://github.com/Treeeater/chrome_release_webkit_bindings/search?utf8=%E2%9C%93&q=HTMLNames.h

    [root@localhost system]# gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/XMLNames.cpp
    内容是:https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/XMLNames.cpp

    [root@localhost system]# gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/XMLNSNames.cpp
    内容是:https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/XMLNSNames.cpp

    out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.cpp
    https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/HTMLNames.cpp

    out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLElementFactory.cpp
    https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/HTMLElementFactory.cpp

    out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/V8HTMLElementWrapperFactory.cpp
    https://github.com/Treeeater/chrome_release_webkit_bindings/blob/1b1f616598da8506b56e858e6fd20b4883496b10/V8HTMLElementWrapperFactory.cpp

    [root@localhost system]# mv out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/platform/AtomicString.h out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/
    [root@localhost system]# mv out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/platform/AtomicString.cpp out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/
    [root@localhost system]#

    gedit out/target/product/jordan/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h
    #include "AtomicString.h"
    //extern const WTF::AtomicString xhtmlNamespaceURI;
    extern const AtomicString xhtmlNamespaceURI;

    ++++++++++++++++++++++++++++++++++

    https://github.com/CyanogenMod/android_device_motorola_jordan.git

    # repo init -u https://github.com/CyanogenMod/android_device_motorola_jordan.git

    # repo sync -j16

    error: .repo/manifests/: contains uncommitted changes

    # repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

    # repo init -u git://github.com/CyanogenDefy/android.git -b gingerbread

    https://github.com/CyanogenMod/android_device_motorola_jordan.git

    git clone https://github.com/CyanogenMod/android_device_motorola_jordan.git
    git clone https://github.com/CyanogenMod/android_device_motorola_jordan
  • 相关阅读:
    1009 说反话 (20 分)
    1007 素数对猜想 (20 分)
    Visual Studio2017下载方法
    百词斩和扇贝打卡测试与评估
    创建者模式->工厂模式
    STM32F427|----------IO讲解与应用
    MySQL的索引
    STM32F103RCt6 与 MG996R
    2020物联网实验室的考核题目
    初学数据库-MySQL&IDEA&Navicat
  • 原文地址:https://www.cnblogs.com/ztguang/p/12647040.html
Copyright © 2020-2023  润新知