关于在移植android的时候报的错误(高手请进)
我在对android的application framwork 层移植的时候,报了错误我找了半天都没找到解决的办法,哪个高手帮我解决下。以下是我报的错误信息:
make: *** No rule to make target `NOTICE-HOST-STATIC_LIBRARIES-libhost', needed by `out/host/linux-x86/bin/aapt'. Stop.
我本来是想把out/host/linux-x86/bin/aapt里面的aapt删除就可以了可还是不行。这个错误报的太隐蔽了都不知道这个是从哪里报出来的。之前我还以为是因为找不到out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a这个文件。可我在make调试的过程中通过$(warning)把build/core/binary.mk 中的变量built_static_libraries(本来是大写的)的内容打印出来上面有out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a这个路径。之后我找到了报错信息的字符串变量,就是在build/core/binary.mk里面的一个变量installed_static_library也通过warning方式打印出如下信息
NOTICE-HOST-STATIC_LIBRARIES-libhost NOTICE-HOST-STATIC_LIBRARIES-libutils NOTICE-HOST-STATIC_LIBRARIES-liblog NOTICE-HOST-STATIC_LIBRARIES-libcutils NOTICE-HOST-STATIC_LIBRARIES-libexpat NOTICE-HOST-STATIC_LIBRARIES-libpng
因为 binary.mk是全局文件,有很多mk文件都在调用它。不知道是哪个mk文件在调用它的时候把上面这个错误报出去的。
之前我在移植bionic的时候交叉编译到bionic/libc/arch-powerpc/bionic/crtbegin_static.S: Assembler messages:
bionic/libc/arch-powerpc/bionic/crtbegin_static.S:30: Error: unrecognized symbol type ""
bionic/libc/arch-powerpc/bionic/crtbegin_static.S:54: Error: Unrecognized opcode: `mov'
bionic/libc/arch-powerpc/bionic/crtbegin_static.S:55: Error: Unrecognized opcode: `mov'
bionic/libc/arch-powerpc/bionic/crtbegin_static.S:56: Error: Unrecognized opcode: `adr'
bionic/libc/arch-powerpc/bionic/crtbegin_static.S:57: Error: Unrecognized opcode: `adr'
make: *** [out/target/product/generic/obj/lib/crtbegin_static.o] Error 1
报这个错误的原因是因为默认的.s文件是针对arm的,所以要自己重写这些.s文件针对与powerpc 的
关于在编译dalvik遇到的错误主要是由于对bionic有很多库依赖,还有对kernal有关于进程和内存管理的方面的依赖.