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