serial manager怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serial manager怎么用相关的知识,希望对你有一定的参考价值。

参考技术A 1.启用SerialService

其掉这三个文件中的@hide标识:

frameworks/base/core/Java/android/hardware/SerialManager.java

frameworks/base/core/java/android/hardware/SerialPort.java

frameworks/base/core/java/android/hardware/ISerialManager.aidl

SerialService文件位置:

frameworks/base/services/java/com/android/server/SerialService.java

该服务会在SystemSever.java中进行初始化,这里还需要将Context.java中的SERIAL_SERVICE的@hide去掉:

frameworks/base/core/java/android/content/Context.java

- /*
- * @hide
- */
public static final String SERIAL_SERVICE = "serial";

还有, SerialService是通过读取R.array.config_serialPorts这个String array来加载的/dev/设备节点:

public SerialService(Context context)
mContext = context;
mSerialPorts = context.getResources().getStringArray(
com.android.internal.R.array.config_serialPorts);


所以还需要添加下,文件位置:

framework/base/core/res/res/values/config.xml

在config_serialPorts中添加相应设备节点

<!-- List of paths to serial ports that are available to the serial manager.
for example, /dev/ttyUSB0
-->
<string-array translatable="false" name="config_serialPorts">

<item>"/dev/ttyS0"</item>
</string-array>

在使用时应用需要添加uses-permission权限 android.permission.SERIAL_PORT ;

2.安卓提供了个测试工具,在framework/base/tests/SerialChat, 可以进入该目录, 输入mm 进行编译,输出在 out/target/product/xxx/data/app/中,可以push到手机里验证。

3.权限授权问题, 我在测试这个SerialChat程序时发现android.permission.SERIAL_PORT并未被授权, 通过pm.checkPermission("android.permission.SERIAL_PORT", pinfo.packageName) 检查可以看到。

查看frameworks/base/core/res/AndroidManifest.xml中发现,该permission定义如下:

<!-- Allows applications to access serial ports via the SerialManager. -->
<permission android:name="android.permission.SERIAL_PORT"
android:label="@string/permlab_serialPort"
android:description="@string/permdesc_serialPort"
android:protectionLevel="signature|system" />
可以看到protectionLevel是signature|systeml;

signature表示当申请此权限的应用程序的签名与声明此权限的应用的签名相同时才会授权, 该应用是framwork-res.apk,使用的签名是platform,所以需要应用也要使用platform签名。

system表示是系统应用;

所以这里修改Android.mk,添加LOCAL_CERTIFICATE := platform 再重新编译

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := tests
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := SerialChat
include $(BUILD_PACKAGE)
参考技术B 1.启用SerialService

其掉这三个文件中的@hide标识:

frameworks/base/core/Java/Android/hardware/SerialManager.java

frameworks/base/core/java/android/hardware/SerialPort.java

frameworks/base/core/java/android/hardware/ISerialManager.aidl

SerialService文件位置:

frameworks/base/services/java/com/android/server/SerialService.java

该服务会在SystemSever.java中进行初始化,这里还需要将Context.java中的SERIAL_SERVICE的@hide去掉:

frameworks/base/core/java/android/content/Context.java

- /*
- * @hide
- */
public static final String SERIAL_SERVICE = "serial";

还有, SerialService是通过读取R.array.config_serialPorts这个String array来加载的/dev/设备节点:

public SerialService(Context context)
mContext = context;
mSerialPorts = context.getResources().getStringArray(
com.android.internal.R.array.config_serialPorts);


所以还需要添加下,文件位置:

framework/base/core/res/res/values/config.xml

在config_serialPorts中添加相应设备节点

<!-- List of paths to serial ports that are available to the serial manager.
for example, /dev/ttyUSB0
-->
<string-array translatable="false" name="config_serialPorts">

<item>"/dev/ttyS0"</item>
</string-array>

教你怎么用editplus激活工具激活editplus软件

参考技术A 方法/步骤
1、下载editplus激活工具
双击下载的editplus激活工具
2、双击之后会出现如下界面,因为是激活工具(属于破解的东西),所以操作系统无法验证发布者,我们只需要点击【运行】按钮便可
3、点击【运行】按钮之后会来到如下界面,有Name输入框,有Serial输入框,我们直接点击【Generate】按钮,会自动生成Serial,也就是序列号
4、点击【Generate】按钮之后,会看到生成的Serial,如下图所示
5、然后打开Editplus软件,来到如下界面,点击【Enter
Registration
Code】按钮,
6、点击【Enter
Registration
Code】按钮之后来到如下界面,可看到有2个地方需要输入,一个是Username,一个是Regcode,我们把步骤5中生成的Serial方框中的内容复制之后粘贴到Regcode,而Username处填写步骤5中Name对应的内容,即是REPT,都填好之后,继续点击【Register】按钮,
7、点击【Register】按钮,来到如下界面,那么恭喜,Editplus激活成功,关闭掉Editplus之后再重新启动,不会再出现讨厌的需要注册的界面
以上就是专题栏小编带来的editplus教程,更多教程请看“http://www.zhuantilan.com/zt/editplus/”

以上是关于serial manager怎么用的主要内容,如果未能解决你的问题,请参考以下文章

Internet Download Manager怎么用

Automation License Manager 怎么用

remote desktop manager怎么用

Android sdk manager 无法打开怎么解决

使用JMS Serializer仅将实体关系序列化为Id

Android sdk manager 显示 “Done loading packages”,该怎么办?