由于需要把service独立出来一个进程,使用Android Studio调试发现独立出来后,在Service设置断点是无法直接进去的,肿么办。。。

记得以前用eclipse的时候是可以通过端口来调试系统的所有进程的,网上找了下,也没找到相关的资料,后面自己看了下Debug的配置,发现果然还是可以的,具体方法如下。

首先通过Device Monitor打开

7d918eb430df9564df03160f31cbac37.png

记住这里的端口号,如我们要调试的remote Service 8601

d7f04b401312d9c6e4a953619078d46b.png

812fae2dac0d6112b9f785f18c61338f.png

c544d02747ee22aa1663e961203e6b17.png

c03cf02c3bc082845bb5b9adb7e3492c.png

这里port填上我们要调试的进程的端口号  如我们这里的8601

561217463ac60cbea62207203e380204.png

a22eca96a6b1d85c08111fd9ae5d38b1.png

bc5b723edb897f8cfa6bf9e02279bca2.png

另外发现有时候调试一会就出现ANR,调试自动断开,这个时候需要如下配置下:

fb733369bd53bacb61669c2b582bd21a.png

还有就是调试代码如果在application 中的attachBaseContext

03-31 10:57:45.196 645-748/? D/ThermalEngine: sensor_wait: case_therm Wait start. 1000ms

03-31 10:57:45.688 1355-1418/? I/ActivityManager: Killing 12443:io.virtualapp/u0a163 (adj 0): depends on provider io.virtualapp/com.lody.virtual.server.BinderProvider in dying proc io.virtualapp:x

03-31 10:57:45.688 1355-1418/? I/ActivityManager: Killing 12496:io.virtualapp:x/u0a163 (adj 0): timeout publishing content providers

03-31 10:57:45.688 1355-1865/? W/ActivityManager: Unable to launch app io.virtualapp/10163 for provider io.virtualapp.virtual.service.BinderProvider: launching app became null

这个时候我把代码移到 Application的onCreate

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐