Android7.1开机默认关闭DHCP


先来看看系统的进程的入口SystemServer ,main方法里通过SystemServiceManage启动EthernetService


    
    
  1. //frameworks/base/services/Java/com/Android/server/SystemServer.java
  2. public final class SystemServer {
  3. private static final String ETHERNET_SERVICE_CLASS =
  4. "com.android.server.ethernet.EthernetService";
  5. public static void main (String[] args) {
  6. new SystemServer().run();
  7. }
  8. private void run () {
  9. startOtherServices();
  10. }
  11. private void startOtherServices () {
  12. if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_ETHERNET)) {
  13. mSystemServiceManager.startService(ETHERNET_SERVICE_CLASS);
  14. }
  15. }

EthernetService 被启动之后就干了三件事儿: 
1.构造函数中创建EthernetServiceImpl 对象 
2.在onStart()方法 中将EthernetServiceImpl对象注册进了ServiceManager。 
3.当系统进入到 PHASE_SYSTEM_SERVICES_READY时状态时,EthernetService的onBootPhase()方法被触发,调用EthernetServiceImpl .Start();


    
    
  1. //frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetService.java
  2. public final class EthernetService extends SystemService {
  3. private static final String TAG = "EthernetService";
  4. final EthernetServiceImpl mImpl;
  5. public EthernetService (Context context) {
  6. super(context);
  7. mImpl = new EthernetServiceImpl(context);
  8. }
  9. @Override
  10. public void onStart () {
  11. // 将ServiceImpl注册到ServiceManager
  12. Log.i(TAG, "Registering service " + Context.ETHERNET_SERVICE);
  13. publishBinderService(Context.ETHERNET_SERVICE, mImpl);
  14. }
  15. @Override
  16. public void onBootPhase ( int phase) {
  17. //当系统运行到PHASE_SYSTEM_SERVICES_READY状态是时,Service启动EthernetServiceImpl
  18. if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
  19. mImpl.start();
  20. }
  21. }
  22. }

  •  IpConfiguration 这个类就是以太网配置信息类啊!!!!!!! 模式是DHCP啊还是静态啊,静态的ip ,网关啥的都存在这里头

    
    
  1. //frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetConfigStore.java
  2. public class EthernetConfigStore extends IpConfigStore {
  3. private static final String ipConfigFile = Environment.getDataDirectory() +
  4. "/misc/ethernet/ipconfig.txt";
  5. public EthernetConfigStore () {
  6. }
  7. public IpConfiguration readIpAndProxyConfigurations () {
  8. SparseArray<IpConfiguration> networks = readIpAndProxyConfigurations(ipConfigFile);
  9. if (networks.size() == 0) {
  10. Log.w(TAG, "No Ethernet configuration found. Using default.");
  11. return new IpConfiguration(IpAssignment.DHCP, ProxySettings.NONE, null, null);
  12. }
  13. if (networks.size() > 1) {
  14. // Currently we only support a single Ethernet interface.
  15. Log.w(TAG, "Multiple Ethernet configurations detected. Only reading first one.");
  16. }
  17. return networks.valueAt( 0);
  18. }

  • 可知,ipconfig存储在 “data/misc/ethernet/ipconfig.txt”中。那么解决方案也就来了

step 2配置以太网设置默认为静态ip

  • 1.手动配置好一份静态ip
  • 2.取出以太网配置文件: ipconfig.txt 
    进入命令行,输入 
    adb root 
    adb pull /data/misc/ethernet/ipconfig.txt 
    这里写图片描述
    因为是在桌面输入的命令行,所以复制出的ipconfig.txt 的位置在桌面

  • 3.device.mk文件中 将 ipconfig 预设置到固定位置 
    1)找到一份源码编译时一定会编译的device.mk 文件,在device.mk中添加 
    PRODUCT_COPY_FILES += $(LOCAL_PATH)/ipconfig.txt:system/etc/ipconfig.txt 
    2)将刚刚拷贝的ipconfig.txt 文件复制到与device.mk同目录下. 
    3)将上面提到的EthernetConfigStore 类中的ipConfigFile 修改为

    
          
          
    1. private static final String ipConfigFile = Environment.getRootDirectory() +
    2. "/etc/ipconfig.txt";
### 回答1: Android 7.1版本默认搭载了谷歌拼音输入法。谷歌拼音输入法是一款由谷歌公司开发的输入法应用程序,常用于Android系统设备上。它支持中文拼音输入、手写输入和语音输入等多种输入方式。 谷歌拼音输入法具有准确的词库和智能联想功能,可以根据用户的输入习惯和语言习惯智能预测下一个单词。通过学习用户的输入习惯,它可以自动纠正并补全拼音,提高输入速度和准确度。此外,它还可以提供实时拼音显示和简体繁体转换等功能。 除了拼音输入,谷歌拼音输入法还支持手写输入。用户可以在屏幕上用手指或者带有触控笔的设备上书写汉字,输入法会自动识别手写的字形并转化为文字。这种输入方式对于不熟悉拼音输入或者希望输入特定汉字时非常有用。 另外,谷歌拼音输入法还支持语音输入功能。用户可以通过按住输入法上的语音输入按钮,使用语音输入来输入文字。输入法会将语音转化为文字并显示在屏幕上。 总体来说,Android 7.1版本的默认谷歌拼音输入法是一款功能齐全、准确智能的输入法应用程序,提供了多种输入方式供用户选择,可以满足用户日常手机输入的需求。 ### 回答2: Android 7.1默认搭载谷歌拼音输入法,这是一款由谷歌公司开发的输入法应用。谷歌拼音输入法提供了快速、准确和智能的拼音输入体验,方便用户在Android设备上输入中文。它支持标准的汉字拼音输入模式,用户可以根据拼音首字母进行选择并输入相应的汉字。 谷歌拼音输入法还具有强大的词库功能,可以根据用户的输入习惯和个性化记忆,快速提供准确的推荐词汇选项,减少输入错误的可能性。此外,该输入法还支持快速的手写输入模式,用户可以直接在屏幕上书写汉字,输入法会自动将手写文字转化为相应的文字。 在Android 7.1系统中,谷歌拼音输入法还内置了智能语音输入功能,用户可以通过语音输入的方式快速输入文字。这让用户在使用Android设备时,不再需要长时间地敲击键盘,只需要简单地说出要输入的内容,输入法会自动将语音转化为文字。 总而言之,谷歌拼音输入法是一款功能强大、易用且智能的输入法应用,为Android 7.1用户提供了便捷的中文输入体验,大大提高了输入速度和准确性,是一款令人满意的输入工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值