【问题标题】:Unable to debug application over USB; works with emulator无法通过 USB 调试应用程序;与模拟器一起使用
【发布时间】:2014-09-21 11:34:42
【问题描述】:

Windows 上的 Android Studio - 在 Gradle 同步和构建成功后,我无法在我的(根)Android Galaxy S3 上启动我的应用程序并通过 USB 进行调试。我的设备上有USB Debugging enabled

能够:

  • 通过模拟器上的调试接口进行配置和调试
  • 在 Android DDMS 窗口中查看我的 USB 设备:

  • 通过 adb 手动配置,然后通过调试器连接,使用 Android Studio 中调试窗口中的相同命令:


Cd "C:\Program Files (x86)\Android\android-studio\sdk\platform-tools"
adb -d shell 
su
pm uninstall com.company.myapplication
ls -all /data/app | grep myapplication
pm install -r "/data/local/tmp/com.company.myapplication"
am start -n "com.company.myapplication/com.company.myapplication.MapsActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

  • 按照手动配置(见上文),我可以附加到我的设备上正在运行的进程,并调试(包括命中断点):

  • 尝试启动 USB 调试时,从“选择设备”窗口中选择我的设备:

    ... 之后我得到以下输出(Android 设备 UI 上没有任何活动):


Waiting for device. 
Target device: samsung-sgh_t999-6XXXXXX2
Uploading file
    local path: D:\Data\XXXXXX\Sandpit\XXXXXX\MyApplication\app\build\outputs\apk\app-debug.apk
    remote path: /data/local/tmp/com.company.myapplication
Installing com.company.myapplication
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.company.myapplication"`

Launching application: com.company.myapplication/com.company.myapplication.MapsActivity.
DEVICE SHELL COMMAND: am start -D -n "com.company.myapplication/com.company.myapplication.MapsActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Waiting for process: com.company.myapplication  

在上述情况下,在使用 adb shell 检查文件后,我注意到pm install 命令有效——即在位置/data/local/tmp/com.company.myapplication 中有一个更新的文件(基于时间戳)。但是,am start 不起作用,因为

下的 .apk 文件

我试过了:-

  • Restarting the computer
  • 重新启动 Android 设备
  • 重新安装 Android Studio
  • 运行应用(而不是调试应用):结果相同,Android 设备上没有安装应用
  • 创建一个新的测试应用程序,看看是 Gradle 问题还是我的原始应用程序中的 Manifest 配置问题。
  • 清理项目
  • Media device (MTP)Camera (PTP) 的身份连接
  • Enabling mock locations (Settings -> Developer options -> Allow mock locations)
  • Adding android:debuggable="true" to the Android Manifest XML (<appRoot>\MyApplication\app\src\main\AndroidManifest.xml),尽管 IDE 建议相反:

  • 确保启用 ADB 集成:

  • 在手机上切换 ADB 连接 (Settings -> Developer Options -> USB Debugging check/uncheck/recheck, reconnect)

  • 更新到latest Samsung drivers for the S3 - 已下载,在 Windows 设备管理器中刷新:

  • 重新启动 ADB 服务器,包括以 root 身份,然后重新连接(随后通过 USB 从 Android Studio 重新尝试调试):

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb wait-for-device

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb devices
List of devices attached
6XXXXXX2        device


C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb root

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb kill-server

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb wait-for-device

C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>adb devices
List of devices attached
6XXXXXX2        device


C:\Program Files (x86)\Android\android-studio\sdk\platform-tools>

版本:-

  • 我有 Android Studio v0.8.2,但作为测试工作的一部分,我已经降级到 0.8.1,这也不起作用(同样的问题)。
  • 手机为SGH-T999,安卓4.1.2版
  • 操作系统是 Windows 7 Enterprise SP1

    我遗漏了什么?我还应该尝试什么?

【问题讨论】:

  • 你检查过你的手机是否开启了usb调试功能吗?
  • 是的,请参阅包含的步骤“在手机上切换 ADB 连接(设置 -> 开发人员选项 -> USB 调试检查/取消选中/重新检查,重新连接)”
  • 对不起,你的问题太详细了,我懒得真正阅读所有内容。 (;
  • 我想我已经尽我所能让它工作了!从那以后,我连接了一个 AM335x 板,它可以很好地调试。我认为这可能与我的 S3 有关。

标签: android debugging android-studio usb adb


【解决方案1】:

也许安装通用 ADB 驱动程序会有所帮助。 (Download)

【讨论】:

【解决方案2】:

只是为了提供关闭...我最终放弃了这个设备,并且不值得修理屏幕,所以这个设备不再存在。我的新设备 - 也是 S3 - 植根后可以工作。

【讨论】:

    猜你喜欢
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    相关资源
    最近更新 更多