我要从源代码构建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
答案 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项目的路径。