1

我要从源代码构建一个 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
4

1 回答 1

0

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

我会解释它说什么,

  • cd 到你的 aosp 目录

    cd /path/to/ur/aosp
    
  • 例如,使用任何编辑器打开文件系统/媒体/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 项目的路径。

于 2015-03-14T07:20:57.417 回答