android - 使用 Stock Android (Froyo) 时出现编译错误?

标签 android build compilation android-source

我正在尝试从我的 Nexus One 的源代码编译 Android (Froyo)。我几乎遵循了 here 中的所有说明.

虽然说明是针对 Gingerbread 的,但我真的看不出 Froyo 有什么不同。在我执行“make -j4”后,抛出以下错误:

Install: out/target/product/passion/system/lib/libmedia.so
target SharedLib: libstagefright_foundation (out/target/product/passion/obj/SHARED_LIBRARIES/libstagefright_foundation_intermediates/LINKED/libstagefright_foundation.so)
target SharedLib: libstagefright_color_conversion (out/target/product/passion/obj/SHARED_LIBRARIES/libstagefright_color_conversion_intermediates/LINKED/libstagefright_color_conversion.so)
target SharedLib: libaudio (out/target/product/passion/obj/SHARED_LIBRARIES/libaudio_intermediates/LINKED/libaudio.so)
target SharedLib: libaudiopolicy (out/target/product/passion/obj/SHARED_LIBRARIES/libaudiopolicy_intermediates/LINKED/libaudiopolicy.so)
target SharedLib: libcameraservice (out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/LINKED/libcameraservice.so)
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/CameraService.o: in function android::CameraService::getCameraInfo(int, android::CameraInfo*):frameworks/base/services/camera/libcameraservice/CameraService.cpp:109: error: undefined reference to 'HAL_getCameraInfo'
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/CameraService.o: in function android::CameraService::CameraService():frameworks/base/services/camera/libcameraservice/CameraService.cpp:75: error: undefined reference to 'HAL_getNumberOfCameras'
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/CameraService.o: in function android::CameraService::CameraService():frameworks/base/services/camera/libcameraservice/CameraService.cpp:75: error: undefined reference to 'HAL_getNumberOfCameras'
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/CameraService.o: in function android::CameraService::connect(android::sp<android::ICameraClient> const&, int):frameworks/base/services/camera/libcameraservice/CameraService.cpp:148: error: undefined reference to 'HAL_openCameraHardware'
prebuilt/darwin-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/CameraService.o: in function android::CameraService::connect(android::sp<android::ICameraClient> const&, int):frameworks/base/services/camera/libcameraservice/CameraService.cpp:154: error: undefined reference to 'HAL_getCameraInfo'
collect2: ld returned 1 exit status
make: *** [out/target/product/passion/obj/SHARED_LIBRARIES/libcameraservice_intermediates/LINKED/libcameraservice.so] Error 1
make: *** Waiting for unfinished jobs....
Note: cts/tools/dx-tests/src/dxc/junit/opcodes/invokeinterface/jm/T_invokeinterface_1.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
compiling all jasmin (*.j)
compiling all .cfh files into .class files
generating Main_*.java files reading from cts/tools/dx-tests writing to out/host/darwin-x86/obj/EXECUTABLES/dx-tests_intermediates/mainfiles
using java src:cts/tools/dx-tests/src
Collecting all junit tests...

Time: 0.025

OK (0 tests)

有人可以帮我解决这个问题吗?

最佳答案

该函数在 Froyo 中被命名为 getCameraInfo(),但在 Gingerbread 中被更改为 HAL_getCameraInfo()。因此,从 Froyo 机器中提取的动态库 libcamera.so 将无法在 Gingerbread 构建中运行。

我不确定你是否能够绕过这个……

关于android - 使用 Stock Android (Froyo) 时出现编译错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4905487/

相关文章:

Android Geofence 无法调用 IntentService 并且无法在 BroadcastReceiver 中工作

android - 在android中的服务中访问viewModel

java - 如何使用 maven package 命令制作 zip 存档时添加其他目录?

android - 如何加快 android ndk 构建

c# - vs 2015 错误 CS0006 找不到元数据文件 .dll'

c# - CodeDomProvider.CompileAssemblyFromSource - 找不到 Roslyn (csc.exe)

java - 如何将 Google Map API v2 包含到 fragment 中?

android - 在 android 中使用时出现 HTMLUNit 错误

c - 使用 QtCreator [mac os] 找不到 -lrt 的库

c++ - 非 constexpr 变量有时可用于 constexpr 上下文?