热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu12.10的VMware虚拟机中连接android手机设备调试

手机是盛大bambooks1,系统大约是android2.3.5左右。win764位版上安装的vmware8.0,装了ubuntu12.10系统(来自于pythonforandroid的kivy镜像盘,由原来的vdi(virtualbox)格式转化而来(即vmdk格式)。用kivy库开发pythonforandroid
手机是盛大bambook s1,系统大约是android 2.3.5左右。
win7 64位版上安装的vmware 8.0,装了ubuntu 12.10系统(来自于python for android的 kivy镜像盘,由原来的vdi(virtual box)格式转化而来(即vmdk格式)。
    用kivy库开发python for android程序时,由于kivy的显示依赖于opengl es图形库,而本机上安装的android虚拟机设定使用主机gpu时,总是起动不起来(vmware3D加速已打开,也不行。据说新版的kivy对虚拟机调试有所改善。稍后再研究这个问题),这样导致android虚拟机不可能有gpu硬件,从而kivy程序打包成apk上传至虚拟机时,根本无法显示。所以想到将手机连至虚拟机上,直接用手机硬件调试kivy程序。
查了一下相关资料,大致如下过程完成设置:
1 将手机数据线插到电脑上(win7 64位),当然手机usb调试要打开,这个不用说。
2 确认ubuntu虚拟机的usb选项打开正确。确保将usb连至虚拟机(即disconnected from host)。
3 此时启动ubuntu 12.10,在终端窗口中查看:lsusb
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ lsusb
Bus 001 Device 002: ID 230b:0100 
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached
可看到有5个usb设备,而adb devices并未发现android设备。
4 拔去手机,再次用lsusb查看:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ lsusb
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
可看出,Bus 001 Device 002: ID 230b:0100  此行正是盛大bambook s1手机的usb设备,大约由于此手机过于山寨,并未显示任何厂标。
5 cd /etc/udev/rules.d
vi 50-Android.rules
输入:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="230b", MODE="0666"
注意这里随便输入了个htc的公司名称,而"230b"是最重要的,在Bus 001 Device 002: ID 230b:0100 中可找到。
保存,chmod a+rx 此文件。
sudo /etc/init.d/udev restart
6 直接重启动ubtuntu得了。
7 重启后,再用adb devices查看,发现:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
????????????    no permissions
好,发现东西了,只是权限不对。
8 杀掉adb服务,重新用sudo权限启动之:
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb kill-server
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ sudo ./adb start-server
[sudo] password for kivy:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
kivy@kivy-VirtualBox:~/android/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached
0123456789ABCDEF0123456789ABCDE    device
终于,找到了名为0123456789ABCDEF0123456789ABCDE   这个古怪名字的设备。
9 编译打包kivy程序:
kivy@kivy-VirtualBox:~/android/python-for-android/dist/default$ ./build.py --package org.test.SwitchMT --name "SwitchMT" --version 1.0 --dir ~/myprogs/SwitchMT debug installd
注意最后安装apk到手机的部份:
install:
     [echo] Installing /home/kivy/android/python-for-android/dist/default/bin/SwitchMT-1.0-debug.apk onto default emulator or device...
     [exec] 851 KB/s (6801828 bytes in 7.798s)
     [exec]     pkg: /data/local/tmp/SwitchMT-1.0-debug.apk
     [exec] Success

installd:

BUILD SUCCESSFUL
安装是成功的。
查看手机,SwitchMT的图标出现了。


推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
author-avatar
手机用户2502900545
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有