【发布时间】: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 不起作用,因为
我试过了:-
- 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