目录

一. 烧写Android系统

二. 安装Android-NDK

三. 连接Android设备和Linux主机

四. 部署MobileNetSSD到Android (5. Compile and execute demo)


一. 烧写Android系统

    下载固件:sd_ROC-RK3399-PC_Android8.1.0_DEFAULT_181016.img.xz

    烧写固件:http://wiki.t-firefly.com/zh_CN/ROC-RK3399-PC/guidebook.html#xia-zai-he-shao-xie-gu-jian

    通过以上两步即完成Android系统的准备。

二. 安装Android-NDK

    下载链接:https://developer.android.com/ndk/downloads/older_releases.html

    参考链接:Android NDK 安装配置指南

三. 连接Android设备和Linux主机

1. 使用TypeC-USB线分别接Android设备和Linux主机,使用 lsusb 命令查看Android设备的ID:

    这里,查到设备的ID为2207. (注意:有的TypeC-USB线只能用来充电,不能传输数据,所以lsusb命令不会显示ID)

2. ADB工具的使用

    参考链接:ADB的安装和使用

sudo apt-get install android-tools-adbmkdir -p ~/.androidvi ~/.android/adb_usb.ini# add the following line:0x2207sudo vi /etc/udev/rules.d/70-android.rules# add the following line:SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"sudo udevadm control --reload-rulessudo udevadm triggersudo adb kill-serveradb start-serveradb devicesadb shell

3. Android设备打开USB调试模式

    a. 依次进入目录 Settings/System/About table/, 鼠标连续左击 Build number 七次进入开发者选项(会有提示)

    b. 返回目录 Settings/System即可看到 Developer options, 左击进入打开 USB debuging 选项

    c. 进入目录 Settings/Connected devices, USB选项默认为 Charging this device, 这种情况下我们不能在Linux主机上浏览  

  Android系统的内容(如下图所示Unable to access “ROC RK3399 PC”);若改成 Transfer files 即可在Android设备和Linux主

  机之间传递文件。

四. 部署MobileNetSSD到Android (5. Compile and execute demo)

git clone https://github.com/xindongzhang/MNN-APPLICATIONS.gitcd MNN-APPLICATIONS/applications/mssd/tensorflow

adb shell   cd /data/local/tmp/tfexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/tfndk-buildadb push ../libs/arm64-v8a /data/local/tmp/tfadb push tf_mssd.mnn /data/local/tmp/tfadb push image /data/local/tmp/tf/imageadb pull /data/local/tmp/tf/output ./output

    注意:adb push ../libs/arm64-v8a/ /data/local/tmp

    下面对 tf_mssd.cpp 进行修改:

std::string image_name = "./body.jpg";std::string model_name = "./tf_body_det.mnn";int forward = MNN_FORWARD_CPU;// int forward = MNN_FORWARD_OPENCL;// int forward = MNN_FORWARD_VULKAN;int precision = 2;int power     = 0;int memory    = 0;int threads   = 1;     // single threadint INPUT_SIZE = 300;int OUTPUT_NUM = 1917;   // for 300x300

    下图是检测结果,单线程CPU需要200ms.(另外,int8量化后需要125ms. 量化前四线程GPU只需30ms)

 


参考链接:https://github.com/xindongzhang/MNN-APPLICATIONS

                  https://askubuntu.com/questions/518479/ubuntu-doesnt-recognize-android-devices-anymore

 

更多相关文章

  1. (20120722)(笔记002)android开发环境搭建
  2. Maven Android(安卓)Plugin
  3. 亲试,Windows平台上使用Qt5.2.1编写Android
  4. Android(安卓)-- adb devices找不到设备的解决办法
  5. Android中蓝牙使用步骤小结
  6. 使用远程调试Android设备
  7. Android测试之Monkey
  8. ubuntu 使用adb shell命令识别android设备
  9. android在window下的开发环境搭建

随机推荐

  1. 安卓中contentDescription属性的作用详解
  2. Android图片自适应不同分辨率屏幕问题
  3. android中的apk签名
  4. GifView控件,android显示gif图片
  5. Android OOM内存溢出解决方案之一
  6. Android Studio 进阶配置
  7. 最好的5个Android(安卓)ORM框架
  8. 浅谈:Android(安卓)TextView的append方法
  9. Android Dalvik 内存管理学习
  10. 在Android2.2模拟器上安装Android Market