我一直在尝试在android构建中引入新命令。
我做了什么:
在AOSP源代码树中:
1)在android / External Directory中创建新目录说: newCmd / newCmd.c,newCmd / Android.mk
In the Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:= newCmd.c
LOCAL_MODULE := newCmd
LOCAL_STATIC_LIBRARIES := libcutils libc
include $(BUILD_EXECUTABLE)
2)在Top,我跑'm'命令。 我的程序编译好了,输出低于输出。
target Executable: newCmd (out/target/product/generic/obj/EXECUTABLES/newCmd_intermediates/LINKED/newCmd)
target Symbolic: newCmd (out/target/product/generic/symbols/system/bin/newCmd)
Export includes file: external/newCmd/Android.mk -- out/target/product/generic/obj/EXECUTABLES/newCmd_intermediates/export_includes
target Strip: newCmd (out/target/product/generic/obj/EXECUTABLES/newCmd_intermediates/newCmd)
Target ram disk: out/target/product/generic/ramdisk.img
问题:
当我启动模拟器时,我在/ system / bin目录中看不到newCmd。
我错过了什么吗?
请咨询。
答案 0 :(得分:4)
确定。
我找到了解决方案。我将包名称包含在PRODUCT_PACKAGES标记下的core.mk文件中后,它已得到解决。
无论如何,谢谢大家。
答案 1 :(得分:1)
我认为您将代码放在错误的位置,外部文件夹不用于实现将在android系统中使用的命令。
将newCmd文件夹移动到framework / base / cmds中,并将新命令的模块名称(例如newCmd)添加到build / target / product / base.mk