andriod 源码编译时,如何添加一个可执行文件到文件系统中 50
我现在有一个可执行文件,临时定义为abc,我用adbpush到andriod的上可以使用,但是我想把这个文件直接在编译文件系统的时候直接弄到系统目录下(我的思路是这样的,...
我现在有一个可执行文件,临时定义为abc,我用adb push到andriod的上可以使用,但是我想把这个文件直接在编译文件系统的时候直接弄到系统目录下(我的思路是这样的,以前在linux也实验成功了,就是在内核目录下的某个makefile文件中添加上一个cp命令(cp abc ***),也就是把这个文件直接拷贝到文件系统的目录下,最后制作镜像的时候把这个文件给弄上,我现在就是不知道在那个文件中添加,也不知道应该拷贝到哪个地方),这样我就不用adb了,希望懂的告诉我,如果正确,我会再添加分的,谢谢,
展开
2个回答
展开全部
是这样的
1.进入你的android系统源码的build/target/board/generic目录下
2.把你的abc拷贝到 这个目录下
3.编辑这个目录下的vi AndroidBoard.mk这个文件
4.添加 PRODUCT_COPY_FILES += $(LOCAL_PATH)/abc:system/bin/abc
这样在make源码的时候,就可以自动进行这次拷贝了
1.进入你的android系统源码的build/target/board/generic目录下
2.把你的abc拷贝到 这个目录下
3.编辑这个目录下的vi AndroidBoard.mk这个文件
4.添加 PRODUCT_COPY_FILES += $(LOCAL_PATH)/abc:system/bin/abc
这样在make源码的时候,就可以自动进行这次拷贝了
追问
我现在的目的是想把以前的toolbox中的一个命令如ifconfig去掉,然后添加上我的busybox(这个事制作好的,和ifconfig,我把这2个文件拷贝android_froyo_smdkc110/out/target/product/smdkc110/system/bin目录下,这个busybox和ifconfig都编译到了system中了,并且可用。但是有好几次,这2个文件没有编译进去。我想知道问题在哪,如果你能给解决的话,我在添加分数,谢谢了
追答
这个目录只是你编译后生成的临时目录啊?重新编译或者make clean这个目录就没了,自然你的东西也就没了,如果需要往编译出的文件系统中添加自己编译的一些文件,最好的方法就是我说的那样,不然这些文件很容易丢失或者被覆盖
展开全部
用adb push将二进制文件拷贝到系统的某个目录,然后运行。
./adb push list_prop /data/list_prop
# chmod 777 list_prop
# ./list_prop
#include <cutils/properties.h>
#include <stdio.h>
#include <cstring>
void print_prop( const char * key, const char * value, void * cookie)
{
if(!strcmp(key, "ro.build.version.sdk"))
printf("--key=%s,value=%s/n" ,key,value);
}
int main()
{
property_list(print_prop,NULL);
}
./adb push list_prop /data/list_prop
# chmod 777 list_prop
# ./list_prop
#include <cutils/properties.h>
#include <stdio.h>
#include <cstring>
void print_prop( const char * key, const char * value, void * cookie)
{
if(!strcmp(key, "ro.build.version.sdk"))
printf("--key=%s,value=%s/n" ,key,value);
}
int main()
{
property_list(print_prop,NULL);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询