2017-06-07 15:56:45 lin_dianwei 阅读数 13729
  • Android底层技术:Java层系统服务(Android Service)

    为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架裡接近Linux/Driver 的部分。为了充分发挥硬件设备的差異化特性,系统服务是让上层Java 应用程序來使用Driver/HW Device 特色的重要管道。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。

    32513 人正在学习 去看看 高煥堂

安装完,默认Android Device Monitor图标是不在工具栏显示的,只能从Tools -> Android -> Android Device Monitor打开,很不方便。

所以要把图标给放到工具栏上来,下面介绍方法,看图就明白:

 

 

 

 

注意:

从Android Studio 3.0开始,Android Device Monitor里面的很多组件都弃用了,所以AS把它给移除了。

但是并不代表就不能使用,Android Device Monitor是一个独立的工具,可以通过命令行打开。

具体位置在:SDK目录/tools/monitor.bat,双击就可以打开了。

 

2018-05-04 20:25:57 weixin_40046203 阅读数 18543
  • Android底层技术:Java层系统服务(Android Service)

    为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架裡接近Linux/Driver 的部分。为了充分发挥硬件设备的差異化特性,系统服务是让上层Java 应用程序來使用Driver/HW Device 特色的重要管道。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。

    32513 人正在学习 去看看 高煥堂

相信很多更新了AndroidStudio3.0的小伙伴会发现无法在工具栏的的Tools->Android->device monitor,打开DeviceMonitor。

今天偶然看到

Google的官方文档:

However, most components of the Android Device Monitor are deprecated in favor of updated tools available in Android Studio 3.0 and higher.

大概意思就是:Android设备监视器的大多数组件都不支持在Android Studio 3.0和更高版本中使用更新的工具。

但是如果我们还是需要使用Android Device Monitor 该怎么办呢?

仍然可以到Android的SDK目录下寻找 Tools->lib->monitor-x86_64(monitor-x86)中找到monitor.exe

进行手动启动。

我的目录是:

C:\Users\wangpeijiang\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64


2018-06-04 17:51:48 bingocoder 阅读数 3810
  • Android底层技术:Java层系统服务(Android Service)

    为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架裡接近Linux/Driver 的部分。为了充分发挥硬件设备的差異化特性,系统服务是让上层Java 应用程序來使用Driver/HW Device 特色的重要管道。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。

    32513 人正在学习 去看看 高煥堂

        最近学习到利用Service播放音乐,需要在Android系统中 mnt/sdcard 下存放音频文件。学习SharedPreference时生成的 .xml文件,存储在/data/data/应用程序包/shared_prefs中,两者都需要打开Android Device Monitor 但是我在打开时遇到了一些问题。总是报错,如下:


这个错误很奇怪,在网上找了好久。费了很大劲找到了一句话 把“......下的jre复制到sdk下的........中 ”说的不太详细,但总算是帮我解决了问题。我在这里详细说明一下。

        出错的原因是sdk文件夹中缺少jre。需要我们把 Android Studio中的jre复制到sdk中。jre在如下位置:


复制到C:\Users\管理员用户\AppData\Local\Android\Sdk\tools\lib\monitor-x86_64,如果你没有设置的话,sdk的默认安装路径在此。

        把jre 复制完成后再次在Android Studio中打开 Android Device Monitor 就不会出现问题了。

 

出现了想要的界面:


这样就能继续学习了,有时候卡到一个地方没有解决办法,真的挺打击人的,没有了继续学习的心态。。。 但是坚持,办法总还是有的。


2018-03-16 00:45:11 h1368734706 阅读数 811
  • Android底层技术:Java层系统服务(Android Service)

    为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架裡接近Linux/Driver 的部分。为了充分发挥硬件设备的差異化特性,系统服务是让上层Java 应用程序來使用Driver/HW Device 特色的重要管道。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。

    32513 人正在学习 去看看 高煥堂

平台: Win7x64bit

运行环境: JDK9.0.1, JRE9.0.1

现象:前期使用AS 2.2版本,可以正常打开android device monitor,删除低版本升级为3.0并使用原先的配置文件后,无法打开android device monitor并弹出窗口显示打印错误到日志文件,内容如下所示:

!SESSION 2018-03-15 21:27:22.759 -----------------------------------------------
eclipse.buildId=unknown
java.version=9.0.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN

Command-line arguments:  -os win32 -ws win32 -arch x86_64 -data @noDefault

!ENTRY org.eclipse.osgi 4 0 2018-03-15 21:27:23.867
!MESSAGE Bundle reference:file:org.apache.ant_1.8.3.v201301120609/@4 not found.
!ENTRY org.eclipse.osgi 4 0 2018-03-15 21:27:23.883
!MESSAGE Bundle reference:file:org.apache.jasper.glassfish_2.2.2.v201205150955.jar@4 not found.
//中间还有若干行已删除...
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)

at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

解决方法: 

1.先删除JDK9.0及JRE9.0(可以清理一下注册表, 查看当前版本可以在DOS命令行窗口输入: java -version );

2.去Oracle官网下载java se development kit 8并安装(可能需要重新配置环境变量,同时重新开启命令行窗口查看版本是否更改成功);

3.重新运行AS便可以正常打开android device monitor了.

说明:

1.更改JDK版本时,系统的JRE也需要同步更改;

2.网上有很多人说使用管理员权限去运行AS,我尝试该方法后并没有效果,在stackoverflow上也有人解释了该方式只适应于错误日志中有提示权限被限制(比如出现"... read only ..."之类的字符串)的情形.

2019-08-16 10:42:15 CV_Jason 阅读数 786
  • Android底层技术:Java层系统服务(Android Service)

    为什么我们需要学习撰写系统服务呢? 底层系统服务是Android 框架裡接近Linux/Driver 的部分。为了充分发挥硬件设备的差異化特性,系统服务是让上层Java 应用程序來使用Driver/HW Device 特色的重要管道。于此,先仔细解析Java层系统服务的架构,然后阐述这系统服务的代码开发要点,以及其API设计方法。

    32513 人正在学习 去看看 高煥堂

  Android Device Monitor是Android Studio提供的一个用于设备监控的子功能,以往在Tools菜单栏中可以直接点出,但是最新的Android Studio版本中取消了该选项,使得AD不是特别好找了。但实际上,Google官方并没有取消该功能,通过下面几种方法还可以继续使用monitor

  如果之前在PATH环境中配置过ADB环境,那么其实可以直接在命令行里面调用monitor的:
在这里插入图片描述

在这里插入图片描述
  或者没有配置过PATH环境中的tools变量,直接在tools文件夹里面打开
在这里插入图片描述
  如果仅需要使用文件管理的功能的话,其实在Android Studio右下角就可以直接使用的——
在这里插入图片描述
在这里插入图片描述

  实际上,Google选择弃用Android Device Monitor是因为推出了更好用的Android Profiler,但对于习惯了AD工具的老玩家而言,可能不是很适应。
在这里插入图片描述

没有更多推荐了,返回首页