无法通过USB调试应用程序;适用于模拟器

时间:2014-07-29 23:16:14

标签: android debugging android-studio usb adb

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

能够:

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

    DDMS Window - Device Connected

  • 通过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

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

    Android Choose Process

  • 从"选择设备"中选择我的设备;尝试启动USB调试时窗口:

    Choose Device - physical device present

    ...然后我得到以下输出(并且在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命令有效 - 即位置{{1}中有更新的文件(基于时间戳) }。但是,/data/local/tmp/com.company.myapplication不起作用,如

下的.apk文件

我试过了: -

  • Restarting the computer
  • 重新启动Android设备
  • 重新安装Android Studio
  • 运行应用程序(而不是调试应用程序):同样的结果,Android设备上没有应用程序安装
  • 创建一个新的测试应用程序,以查看我的原始应用程序中是否存在Gradle或Manifest配置问题。
  • 清洁项目
  • 同时连接am startMedia device (MTP)
  • Enabling mock locationsCamera (PTP)
  • Adding android:debuggable="true" to the Android Manifest XMLSettings -> Developer options -> Allow mock locations),尽管IDE建议相反: android:debuggable attribute

  • 确保启用ADB集成:

    ADB Integration Setting

  • 切换手机上的ADB连接(<appRoot>\MyApplication\app\src\main\AndroidManifest.xml

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

Samsung ADB Device in Device Manager

  • 重新启动ADB服务器,包括root用户,然后重新连接(并随后通过USB重新尝试从Android Studio进行调试):

Settings -> Developer Options -> USB Debugging check/uncheck/recheck, reconnect

版本: -

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

    我省略了什么?我还应该尝试什么?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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