Helix android移植问题汇总

 

关于如何配置构建环境,请参阅相关文章,在这里直奔主题,我希望编译android2.1(代号eclair)版本的helix player, 所以分支、profile、目标选择如下:

 

SYSTEM_ID   android-eclair-arm.eabi

 

 

[0] Set BIF branch (hxclient_3_1_0_atlas_restricted)

[1] Set Target(s) (splay-hxclnsdk)

[2] Set Profile (helix-client-android-full)

[3] run: build -trelease

 

这时出现如下错误:

 

[#-00000242][2010-07-06 10:11:18][-1216014656][ERROR] : --- Build System Error ------------------------------------

You have found a Ribosome bug.

-----------------------------------------------------------

--- Python Traceback --------------------------------------

------------------------------------

Traceback (most recent call last):

  File "/home/chenzhengyong/android/helix/build/bin/launcher.py", line 117, in __runTool

    tool.run()

  File "/home/chenzhengyong/android/helix/build/lib/build_exe.py", line 897, in run

    ShellToolApp().main()

  File "/home/chenzhengyong/android/helix/build/lib/build_exe.py", line 471, in main

    apply(self.menu[i][1], self.menu[i][2:])

  File "/home/chenzhengyong/android/helix/build/lib/build_exe.py", line 585, in Build

    self.build(self.flags)

  File "/home/chenzhengyong/android/helix/build/lib/build_exe.py", line 493, in build

    invoke_buildsystem(arg_list)

  File "/home/chenzhengyong/android/helix/build/lib/build_exe.py", line 112, in invoke_buildsystem

    app = buildapp.RunBuild(arg_list)

  File "/home/chenzhengyong/android/helix/build/lib/buildapp.py", line 102, in RunBuild

    app.main()

  File "/home/chenzhengyong/android/helix/build/lib/buildapp.py", line 201, in main

    self.run()

  File "/home/chenzhengyong/android/helix/build/lib/buildapp.py", line 378, in run

    self.build_info()

  File "/home/chenzhengyong/android/helix/build/lib/buildapp.py", line 1459, in build_info

    umake.Umake( ["__print_version_and_exit__"] )

  File "/home/chenzhengyong/android/helix/build/umake/umake.py", line 3107, in Umake

    RunUmake(um_opts)

  File "/home/chenzhengyong/android/helix/build/umake/umake.py", line 3001, in RunUmake

    exec_config_file("%s.cf" % (sysinfo.id))

  File "/home/chenzhengyong/android/helix/build/umake/umake.py", line 494, in exec_config_file

    my_exec_file(os.path.join(UMAKECF_ROOT, filename), filename)

  File "/home/chenzhengyong/android/helix/build/umake/umake.py", line 486, in my_exec_file

    exec code in globs

  File "android-eclair-arm.eabi.cf", line 133, in <module>

  File "/home/chenzhengyong/android/helix/build/umake/umake.py", line 2390, in GetSDKPath

    umake_lib.fatal("  Failed to find path to/n  SDK named '%s'. Please read documentation for instructions/n  on how to obtain and install this SDK." % sdk_name)

  File "/home/chenzhengyong/android/helix/build/umake/umake_lib.py", line 84, in fatal

    raise err.Error(text)

Error:   Failed to find path to

  SDK named 'android_source'. Please read documentation for instructions

  on how to obtain and install this SDK.

-----------------------------------------------------------

解决方法是:定义环境变量android_source指向android 2.1的源代码路径。

 

编译结果:

Build complete in 47:52, 34 of 95 modules failed.

察看build.log,发现有如下错误:

/bin/sh: /home/chenzhengyong/android/source/eclair/out/host/linux-x86/bin/soslim: not found

解决方法是编译android 2.1源代码。再次编译,结果如下:

 

MD5 (release/amrn.so).................3fa72b2e007a51dff4f0adf23f7f542e

MD5 (release/amrw.so).................d9dcff4e357820b4c285f25561bf824f

MD5 (release/colorcvt.so).............a427a87c61ec39c7c4e54eb1f20c807f

MD5 (release/colorcvtlib.a)...........aee6ae72b8e9379d10a75664e51e35fc

MD5 (release/cvt1.so).................4dd7927024f6f7b0df99ba9d49d4e7c3

MD5 (release/dmp4.so).................07c4d8b52b13a00e26a12c7f9ef0eb2f

MD5 (release/drv2.so).................22b8db1f1fe95ecf061b2cf749a34bf8

MD5 (release/drvc.so).................c869e878dc0315e1b56e8d6f5992933c

MD5 (release/h263render.so)...........62e2a981b3a9ea10e8f414ef576197e3

MD5 (release/httpfsys.so).............e2649ec93d472ec385179b1511b90644

MD5 (release/hxltcolor.so)............529397162450f752d2846ee547395f40

MD5 (release/hxmedplyeng.so)..........6d852fe990f0913f5913678f7fc07792

MD5 (release/hxnetwksvc.so)...........fad12f5773c0b9962ffdfdc83cf49819

MD5 (release/hxsdp.so)................fb127b58b06998aaed7cb034ab86fdc0

MD5 (release/hxxml.so)................4489fc1bd93b5d945bdcaa812aa2fc93

MD5 (release/mp3fformat.so)...........5d8d71bd1644491a57ab79b0fb0f80e2

MD5 (release/mp3render.so)............8b50c33f1b678692500cd56c7f275174

MD5 (release/mp4arender.so)...........3da2874be54bbbb5839e07683120875f

MD5 (release/mp4fformat.so)...........dda1502ba31ca4c7354688d9fa587266

MD5 (release/mp4v.so).................240fecdaeea88bdfae01e58283efd7e3

MD5 (release/mp4vrender.so)...........8c5cc96527a1f1d9dc92f4e55ef94541

MD5 (release/ramfformat.so)...........80d286ce125c61d458b632c448637170

MD5 (release/ramrender.so)............90de966d5875d0fc15bf1910b406b45c

MD5 (release/rarender.so).............7fb9455c4e7f5ead1e2518c8de854e48

MD5 (release/rmfformat.so)............1c99c9002fcb67a087d340a7c6e29f20

MD5 (release/rtspclnt.so).............35d618d69bc8e84bb29dcf512ca74d30

MD5 (release/rv20.so).................18f6d36de86c47d2939a3eb2af9c0a65

MD5 (release/rv30.so).................a39d2e0f59269d249112f36549b8aa7b

MD5 (release/rv40.so).................6fa1bd183332a7fb48e21c56b71d5538

MD5 (release/rvg2dec).................b312ef328bd5cfce1c45b6bcb0039002

MD5 (release/rvrender.so).............71d9a19018d26acc158a6385cc2ed809

MD5 (release/smplfsys.so).............347c22e4458760fb391acd4dd541f9c3

MD5 (release/vidsite.so)..............81fbe8229ae864b490338f56c1d6f23a

 

Build complete in 08:05, 7 of 95 modules failed.

虽然还有些模块编译失败,但是主要的解码器so编译出来,所以这些错误可以暂时忽略。
补充:编译cupcake问题
因为需要支持1.6版本的android,所以我又下载了android1.6(代号cupcake)的源代码,但是编译源代码时出现如下错误:
build/core/product_config.mk:261: WARNING: adding test OTA key
============================================
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=
============================================
frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone).  Stop.

 

网上找到的解决方法是:在build/tools/findleaves.sh中的第89行,

  将  find "${@:0:$nargs}" $findargs -type f -name "$filename" -print |

  改为find "${@:1:$nargs-1}" $findargs -type f -name "$filename" -print |

再次make,又出现如下错误:

frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in this scope

解决方法:使用gcc-4.3和g++-4.3

 

你可能感兴趣的:(Helix android移植问题汇总)