免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1585 | 回复: 0
打印 上一主题 下一主题

[Linux] linux下,使用execv运行emulator进程,读取avd的路径问题,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-05 14:45 |只看该作者 |倒序浏览
各位,我现在遇到一个问题,希望能够得到大家的帮助,先谢过。

因为项目需要做一个自动化测试android应用的平台,我需要使用程序自动化打开android的emulator进行自动化测试,所以在linux下使用execv函数操作,关键代码如下:

/*初始化execve传入命令*/
char *binary = (char*)malloc(8*sizeof(char));  
char **newargv = (char **)malloc(16*sizeof(char *));
newargv[0] = "/media/career/android/source/out/host/linux-x86/sdk/android-sdk_eng.corey_linux-x86/tools/emulator";  
newargv[1] = "-avd";
newargv[2] = "new1";
newargv[3] = "-system";
newargv[4] = "/media/career/android/source/out/target/product/generic/system.img";
newargv[5] = "-ramdisk";
newargv[6] = "/media/career/android/source/out/target/product/generic/ramdisk.img";
newargv[7] = "-data";
newargv[8] = "/media/career/android/source/out/target/product/generic/userdata.img";
newargv[9] = NULL;       

/*初始化emulator进程的环境变量*/
const char *temp = getenv("ANDROID_AVD_HOME");
envp[0] = temp;
envp[1] = getenv("PATH");
envp[2] = NULL;

if (execve (binary, (char **)newargv, (char **)envp) < 0 )  


结果运行报错
PANIC: Could not open: /tmp/.android/avd/new1.ini
我默认的avd存储路径为~/.android/avd
但是它却自动搜索根文件系统中的路径,我不想把avd的ini配置文件扔到/tmp/.android/avd/下,这样移植性很差,不适用项目,请问大家是否有这方面经验!?
非常感谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP