必须登录才能发言。

  • @Ta 05-09 14:13
  • @Ta 05-09 12:30
  • -
    @Ta 05-08 23:01
    层主 @- 删除了该楼层。
  • @Ta 05-08 16:48
    层主 @胡图图 删除了该楼层。
  • @Ta 05-08 15:05

    @值班电工,牛逼。不过对我来说这是可望而不可即的操作

  • @Ta 05-08 07:28

    @老虎会游泳,之前见过有在8位机上虚拟了32位环境,然后运行Ubuntu的操作,只是开机就需要8个小时。
    红米K30S

  • @Ta 05-07 21:02
    Screenshot_20210507_210010_com.taobao.taobao.jpg
  • @Ta 2018-05-07
    @Curtion,我也觉得
  • @Ta 2018-05-07

    这是黑阈作者的话,我尝试看出一点点念头,然而他好像真的是自己移植了一个adb

  • @Ta 2018-05-07

    @老虎会游泳,事实上我手上有51,arduino和一块stm32。其中arduino可以运行ros系统,stm32可以运行uclinux,但是它们都不是完整的操作系统,应该无法运行adb,我查做了一下网上也没有人移植了adb(或许没有开源)。
    这个想法的原型是飞游小智激活黑阈的方法,我感觉非常的好奇,也想自己造一个轮子,无奈网上没有类似的资料(或许我应该买一个拆开?)

    其实手上还有一个树莓派,用它也太大才小用了,飞游小智的市价可以压在38多元,所以我认为它里面应该是一个51或者stm32

  • @Ta 2018-05-07

    如果单片机上没有操作系统,处于裸片状态,那么你就需要自己实现ADB的USB协议栈。对此我表示悲观。

    所以第一步是先让Linux在你的开发板上运行起来。
    如果你的开发板不能运行Linux,最好还是换一个开发板

  • @Ta 2018-05-07

    因为adb需要USB驱动才能工作,而USB驱动只能运行在特定的操作系统(Windows、Linux、macOS等),所以单片机上肯定要先运行一个系统才能用谷歌提供的源代码。
    最好的情况是你的单片机运行Linux,这样只需要找到别人编译好的adb,或者自己编译一个adb,然后拿来做为命令行调用就好了。早期很多Windows上的“手机助手”都是这么干的,他们都会带一个(可能改了名的)adb.exe。

    后期,因为有了AdbWinApi.dll,很多软件开始用这些API来和adb server交互,不再需要以命令行形式调用adb client了(虽然它们其实是同一个程序,只是启动参数不同)。但是它们还是需要一个原版的adb.exe来做为server启动。在Linux下也是一样。所以先搞一个可以运行的adb命令,然后让它以adb server模式运行(自己看参数帮助),最后写个客户端去连它。它会自动帮你搞定设备发现和usb通信问题,你只需要连它去发命令就好。

  • @Ta 2018-05-07

    @Curtion,这是adb运行的原理。
    https://blog.csdn.net/zhubaitian/article/details/40260783
    因为USB编程是很复杂的,你最好不要去自己实现adb
    的USB部分。直接调用谷歌提供的adb服务器端程序是个好主意,或者直接把它的代码做为函数库调用。
    https://blog.csdn.net/itjobtxq/article/details/17335851
    这里有Windows版函数库的编译教程,Linux版函数库应该也很容易找到(也许软件源里面都有)。

  • @Ta 2018-05-06
    @Curtion,不懂
  • @Ta 2018-05-06
  • @Ta 2018-05-06

    @老虎会游泳 你了解adb执行shell的原理吗,我想用一个单片机实现连接Android手机(开启USB调试),然后执行一个sh文件(主要用于免ROOT);但是现在我一点思路都没有,主要是原理方面,这方面网上的资料是真没有!

[聊天-公共聊天室] 寻梦xunm:@o, 广告位一个草根小破站http://huue.cc乎学技术自制小尾巴