找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5357|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

成功build LG GW620的ROM(openetna)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:50946 發(fā)表于 2013-6-14 19:49 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 huts 于 2013-6-14 19:52 編輯

環(huán)境:
debian 6
gcc 4.7

1, 構(gòu)建自己的git源碼服務(wù)器
詳見以前我寫的:在本地建立android源碼鏡像
(
http://www.torrancerestoration.com/bbs/dpj-19130-1.html)只是這里不是android.git.kernel.org/platform/manifest.git
而是github.com/OpenEtna/android_manifest.git

2, 修改android_manifest
## 克隆項(xiàng)目
git clone -b froyofile:///home/fi9/android/git-server/github.com/OpenEtna/android_manifest.git
cd android_manifest
vi default.xml  ## 編輯
修改git服務(wù)地址
  <remote  name="korg"
         
fetch="file:///home/fi9/android/git-server/android.git.kernel.org/"
           review="review.source.android.com" />
  <remote name="github"
fetch="file:///home/fi9/android/git-server/github.com/"review="review.cyanogenmod.com" />

屏掉android_device_advent_vega
  <!-- <project path="device/advent/vega"
name="CyanogenMod/android_device_advent_vega" remote="github"
revision="master" /> -->

## 提交
git commit -a
## 上傳
git push

3, 下來(lái)就是參照openetna的手冊(cè)進(jìn)行取源碼、編譯
詳見:http://code.google.com/p/openetna/wiki/BuildFromSource
其中有如下不同:
A, 安裝一些工具
sudo apt-get install git-core gnupg flex bison gperf build-essential \
    zip curl sun-java6-jdk zlib1g-dev gcc-multilib g++-multilib \
    x11proto-core-dev \
    libx11-dev lzma
sudo update-java-alternatives -s java-6-sun ## 換java和javac

B, 取源碼(我們的源碼服務(wù)器已經(jīng)在本地):
repo init-ufile:///home/fi9/android/git-server/github.com/OpenEtna/android_manifest.git -b froyo

4, 由于我使用的debian版本比較新,gcc的版本也就很新,是4.7,而以前都是用4.4,因此編譯中出現(xiàn)了不少問(wèn)題:
A, 根據(jù)https://groups.google.com/forum/ ... uilding/2EwtWQTqjdI中的fix 1, 2, 3 解決了三問(wèn)題

B, 根據(jù)https://github.com/CyanogenMod/a ... eb8d1ffe13e95445af3的patch 解決了以下出現(xiàn)的webkit問(wèn)題
target Generated: libwebcore <=
external/webkit/WebCore/xml/XSLTProcessor.idl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
target Generated: libwebcore <=
external/webkit/WebCore/dom/make_names.pl
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/JSHTMLElementWrapperFactory.h]
Error
255
make: *** Waiting for unfinished jobs....
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLElementFactory.h]
Error
255
Unknown parameter a interfaceName for tags/attrs
make: ***
[out/target/product/eve/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/HTMLNames.h]
Error
255
...

C, 自行解決了以下的問(wèn)題(其實(shí)就是和A問(wèn)題一樣)
Install: out/host/linux-x86/bin/mkbootimg
host C++: mksnapshot <= external/v8/src/accessors.cc
In file included from external/v8/src/v8.h:63:0,
                 from external/v8/src/accessors.cc:28:
external/v8/src/objects.h: In instantiation of
‘v8::internal::PropertyDetails v8::internal::Dictionary<Shape,
Key>::DetailsAt(int) [with Shape =
v8::internal::StringDictionaryShape; Key = v8::internal::String*]’:
external/v8/src/property.h:189:62:   required from here
external/v8/src/objects.h:2140:71: error: ‘get’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
external/v8/src/objects.h:2140:71: note: declarations in dependent base
‘v8::internal::FixedArray’ are not found by unqualified lookup
external/v8/src/objects.h:2140:71: note: use ‘this->get’ instead
external/v8/src/objects.h: In instantiation of ‘v8::internal::Object*
v8::internal::Dictionary<Shape, Key>::ValueAt(int) [with Shape =
v8::internal::StringDictionaryShape; Key = v8::internal::String*]’:
external/v8/src/property.h:248:78:   required from here
external/v8/src/objects.h:2128:60: error: ‘get’ was not declared in
this scope, and no declarations were found by argument-dependent lookup
at the point of instantiation [-fpermissive]
....

fix:
vi external/v8/Android.mksnapshot.mk
Add '-fpermissive' to line 60
LOCAL_CFLAGS := \
        -Wno-endif-labels \
        -Wno-import \
        -Wno-format \
        -ansi \
        -fno-rtti \
        -DENABLE_DEBUGGER_SUPPORT \
        -DV8_NATIVE_REGEXP -fpermissive

DONE! 完成ROM的編譯.
下來(lái)就是把openeve的kernel與openetna的FS結(jié)合起來(lái)
再再下來(lái)就是看如何調(diào)試
再再再下來(lái)就是添刪改調(diào)
....

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表