构建android源码

时间:2012-02-15 12:40:01

标签: android makefile smartcard android-source android-build

我要从源代码构建Android图像,但支持智能卡api。

我列出了我所做的步骤以及我所面临的错误。

Patching Smart card API with android source

1. Downloaded android source “android-2.3.5_r1” from the “source.android.com”
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ mkdir ANDROID2.3.5_r1
$ cd ANDROID2.3.5_r1
$ repo init -u https://android.googlesource.com/platform/manifest -b android-2.3.5_r1
$ repo sync

The download was successful and complete

2. Downloaded the Smart card patch “smartcard-api-2_3_0.tgz” from “code.google.com/p/seek-for-android/downloads”

3. Applying the patches
$ cd <ANDROID_ROOT_DIR>
$ patch -p1 < <path_to_my_patches>/smartcard-api-2_3_0/smartcard-api.patch
$ patch -p1 < <path_to_my_patches>/smartcard-api-2_3_0/uicc.patch
$ patch -p1 < <path_to_my_patches>/smartcard-api-2_3_0/emulator.patch
$ patch -p1 < <path_to_my_patches>/smartcard-api-2_3_0/cts.patch
$ make update-api

All the patches were successfully applied with no errors and hunk failures

4. Building the Source
$ source build/envsetup.sh
$ lunch full-eng
$ make -j2

出现的错误如下

target thumb C: SRecTestAudio <= external/srec/srec/test/SRecTestAudio/src/SRecTestAudio.c
system/media/opensles/tests/automated/BufferQueue_test.cpp:34:29: error: SLES/OpenSLESUT.h: No such file or directory
system/media/opensles/tests/automated/BufferQueue_test.cpp: In function 'void CheckErr(SLresult)':
system/media/opensles/tests/automated/BufferQueue_test.cpp:55: error: 'slesutResultToString' was not declared in this scope
make: *** [out/target/product/generic/obj/EXECUTABLES/BufferQueue_test_intermediates/BufferQueue_test.o] Error 1

1 个答案:

答案 0 :(得分:0)

我收到了类似的错误,并按照this链接解决了问题。

我会解释它的内容,

  • cd到你的aosp目录

    cd /path/to/ur/aosp
    
  • 使用任何编辑器打开文件系统/ media / opensles / tests / automated / BufferQueue_test.cpp。

    vi system/media/opensles/tests/automated/BufferQueue_test.cpp 
    
  • 现在添加链接中描述的包含文件并保存文件BufferQueue_test.cpp

  • 现在使用这些命令

    sudo updatedb
    
    locate OpenSLESUT.h /home/ur aosp path/system/media/opensles/libopensles/OpenSLESUT.h 
    
    cp /home/ur aosp path/system/media/opensles/libopensles/OpenSLESUT.h /home/<ur aosp path>/system/media/opensles/include/SLES/OpenSLESUT.h
    

注意:你的aosp路径是你的aosp android项目的路径。