Android (2) —— Android Studio找不到连接的手机

前言

当前,深度学习有很多框架:tensorflow、pytorch、caffe、keras等。很多场景下,需要训练好的模型在移动端运行。移动端的框架又有很多TensorFlow Lite、Core ML、NCNN、MNN等等。
其中 tensorflow 所对应的移动端移植框架 TensorFlow Lite。在自己这个系列记录使用 调用tfile进行神经网络预测的android的实现。

整个记录为:
Android(1) —— Android studio 开发环境搭建
Android(2) —— Android Studio找不到连接的手机
Android(3) —— 环境配置、手机端界面设计
Android(4) —— 图像分类的*.tfile的使用 Classify.java
Android(5) —— 安卓机通过相机或相册获取图片PhotoUtil.java
Android(6) —— 主函数的详解 MainActivity.java

环境

  • JDK
  • Android SDK
  • Android Studio 3.5(自己使用的是3.5,其他版本应该有所差异)
  • 安卓手机(自己使用的是小米手机)
  • 数据线(确定USB是OK的,有些数据线是能充电,无法进行数据传输)

1 手机端(以小米手机为例)

  1. 打开手机的开发者模式。
    不同的手机打开的方式不同,根据手机型号百度即可找到打开方式

  2. 【设置】->【更多设置】->【开发者选项】->【打开 USB调试】->【打开 USB安装】->【关掉 启用MIUI优化】
    (这个是小米的操作方式,重点标红的两步,最后一步其他品牌的安卓机无需操作)

  3. 连接手机,手机端出现下图,勾选【一律允许使用这台计算机进行调试】,点击【确定】。

    在这里插入图片描述
    在下拉栏里,点击【正在通过USB充电】,出现下图,选择【传输文件(MTP)】。

    在这里插入图片描述

  4. 打开【设备管理器】->【便携设备】,能够正常显示手机型号,则说明手机端处理完毕。
    在这里插入图片描述

  5. 自己在操作时,未遇到 设备管理器中的带感叹号的【ADBInterface】,以及更新手机驱动的操作。后续如若遇到,再补充这部分内容。

2 电脑端

2.1 配置ADB

通过USB调试应用时,是借助ADB向手机导入APK的,所以如果ADB中能够看到自己的手机时,那么手机已经成功建立连接了。

  1. 找到Android SDK的目录。C:\Users\hp\AppData\Local\Android\Sdk\platform-tools。这是默认路径,其中 hp 是自己的电脑名字。
  2. 配置环境变量。
    在桌面【“此电脑”上右键】–>【属性】–>【高级系统设置】–>【环境变量】
    在【系统变量】中找到【Path】进行双击 -->【新建】,将Android SDK的路径添加进去
    在这里插入图片描述
  3. 打开终端,输入 adb devices,可以看到设备列表中是显示有自己的手机
    在这里插入图片描述
    (当没有这一步骤时,输入adb devices时会报错命令有误,但并不影响Android Studio的使用)

2.2 Android Studio 中的配置

  1. 安装 Google USB Driver
    【File】->【Settings】->【Appearance & Behavior】->【System Settings】->【Android SDK】->【SDK Tools】->【Google USB Driver】->【OK】。等待下载安装完,点击【finish】
    在这里插入图片描述

2.3 开始调试

点击工具栏中的 绿色三角按钮,运行。
可以在Profiler中看到手机的型号。这个窗口显示方式:快速按两下SHIFT键,搜索Profiler,双击即可。
在这里插入图片描述
在这里插入图片描述
如果Profiler中没有看到自己设备名称,重新点击绿色三角运行;打开终端输入adb devices,看是否连接成功;把开发者选项关闭再打开,再打开USB调试,再运行;重新Sync在运行。依次尝试下,直至成功。

### 如何在Android Studio中重新添加或定位丢失的JAR包 当开发者在使用Android Studio的过程中遇到无法到JAR包中的类时,通常是因为构建过程中某些配置错误或是路径变更所导致。以下是针对该问题的具体解决方案: #### 1. 检查项目的编译输出路径 对于较新的Android Studio版本(如4.x及以上),由于构建脚本的变化,`classes.jar`的位置可能已经发生变动。如果按照旧版方式寻,则可能导致不到目标文件的情况。建议先确认当前项目实际生成的中间产物存储位置是否仍然位于 `\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes` 中[^1]。 如果上述路径不存在对应的`.class`文件集合,请尝试更新Gradle插件至最新稳定版本,并同步刷新整个工程结构以适应最新的默认设置变化[^2]。 #### 2. 配置自定义任务来打包所需依赖项 为了更灵活地控制哪些外部库会被包含到最终的应用程序APK里或者单独提取成独立形式供分发使用,可以创建一个新的Gradle Task用于专门处理此类需求。例如下面这段Groovy代码展示了如何将多个现有的第三方预编译二进制档案组合起来形成单一的新实例: ```groovy task makeJar(type: Jar) { archiveBaseName.set('merged-library') from ('libs/library-a/') { include '*.jar' } from ('libs/library-b/') { include '*.jar' } destinationDir = file("$buildDir/output/jars/") } ``` 此片段说明了通过调整 `from()` 方法参数指定源目录以及匹配模式从而实现多模块集成的效果[^3]。执行完毕之后即可获得名为 `merged-library.jar` 的成果物存放在指定的目标地址之下。 #### 3. 解决因导入引起的冲突现象 有时候即使完成了以上两步操作依旧会碰到提示缺失特定符号的现象,这往往源于重复声明或者是命名空间污染等原因造成的干扰效应。此时应当仔细审查每一个引入环节是否存在冗余情况;另外也可以借助IDE内置功能辅助排查潜在隐患——右键单击报错处选择“Find Usages”,进而追踪根源所在[^4]。 最后提醒一点,在完成所有修正动作以后记得清理缓存(`File -> Invalidate Caches / Restart...`)再进行全面重建一次完整的流程验证效果最佳! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值