解决 需要的目标“out/target/product/generic/obj/lib/liblog.so”。 停止。
在编译Android 4.0的HAL层时,出现下面的错误信息:
root@brantyou-ubuntu:~/workspace/android-4.0.4_r1.2# mmm hardware/libhardware/modules/hello/============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=4.0.4TARGET_PRODUCT=fullTARGET_BUILD_VARIANT=engTARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armTARGET_ARCH_VARIANT=armv7-aHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=IMM76I============================================make:进入目录'/home/brantyou/workspace/android-4.0.4_r1.2'make: *** 没有规则可以创建“out/target/product/generic/obj/SHARED_LIBRARIES/hello.default_intermediates/LINKED/hello.default.so”需要的目标“out/target/product/generic/obj/lib/liblog.so”。 停止。make:离开目录“/home/brantyou/workspace/android-4.0.4_r1.2”root@brantyou-ubuntu:~/workspace/android-4.0.4_r1.2# ls out/target/product/generic/obj/lib/crtbegin_dynamic.o crtend_android.o libc.so libm.socrtbegin_so.o crtend_so.o libdl.so libstdc++.so
经查看,对应的目录下面没有liblog.so库文件。
通过查找,发现liblog位于android源码目录下的system/core/文件夹下面有个liblog的文件夹,看了下里面都是其代码。
这里我们需要通过命令来编译生成该库文件:
make liblog
如:
root@brantyou-ubuntu:~/workspace/android-4.0.4_r1.2# make liblog============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=4.0.4TARGET_PRODUCT=fullTARGET_BUILD_VARIANT=engTARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armTARGET_ARCH_VARIANT=armv7-aHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=IMM76I============================================target thumb C: liblog <= system/core/liblog/logd_write.ctarget thumb C: liblog <= system/core/liblog/logprint.ctarget thumb C: liblog <= system/core/liblog/event_tag_map.ctarget StaticLib: liblog (out/target/product/generic/obj/STATIC_LIBRARIES/liblog_intermediates/liblog.a)target SharedLib: liblog (out/target/product/generic/obj/SHARED_LIBRARIES/liblog_intermediates/LINKED/liblog.so)target Symbolic: liblog (out/target/product/generic/symbols/system/lib/liblog.so)target Strip: liblog (out/target/product/generic/obj/lib/liblog.so)Notice file: system/core/liblog/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/liblog.so.txtNotice file: system/core/liblog/NOTICE -- out/target/product/generic/obj/NOTICE_FILES/src//system/lib/liblog.a.txtInstall: out/target/product/generic/system/lib/liblog.so
看到最后一句,说明该库已经生成了,到此解决该问题。
刚接触Android底层开发,遇到的问题真不少。很多问题网上都找不到,最终还得靠自己来~~