将下面代码添加至packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java

结合之前的添加wifi adb的博客

也要仿照着在xml文件中添加以太网相关的变量接口直接使用网络adb

else if (preference == mEnableWifiAdb) {
        if (mEnableWifiAdb.isChecked()) {
            Settings.Global.putInt(getActivity().getContentResolver(),ADB_WIFI_ENABLED_KEY, 1);
            android.os.SystemProperties.set("sys.connect.adb.wifi","1");

EthernetManager mEthManager = (EthernetManager) getSystemService(Context.ETHERNET_SERVICE);
             int Ethenable = mEthManager.getEthernetIfaceState();
               if( Ethenable == EthernetManager.ETHER_IFACE_STATE_UP )
{
           IpAssignment mode =mEthManager.getConfiguration().getIpAssignment();
             String inetAddr;
            if (mode== IpAssignment.STATIC){    // 如果是静态的
StaticIpConfiguration staticIpConfiguration=mEthManager.getConfiguration().getStaticIpConfiguration();

LinkAddress ipAddress = staticIpConfiguration.ipAddress;
        inetAddr=ipAddress.getAddress().getHostAddress();
             }
          else{
        String iface = "eth0";
        inetAddr = SystemProperties.get("dhcp."+ iface +".ipaddress");
        }
              if ("0.0.0.0".equals(inetAddr)) {
                mEnableWifiAdb.setSummary(getResources().getString(R.string.enable_wifi_adb_openwifi));
}else{
    mEnableWifiAdb.setSummary(getResources().
            getString(R.string.enable_wifi_adb_connected_summary,inetAddr));
}

}
else
{
            WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
            int ipAddress = wifiInfo.getIpAddress();
            String ipAddressString = (ipAddress & 0xFF ) + "." +((ipAddress >> 8 ) & 0xFF) + "." +
                    ((ipAddress >> 16 ) & 0xFF) + "." +( ipAddress >> 24 & 0xFF) ;
            Log.i(TAG, "ipAddress="+ipAddress);
            Log.i(TAG, "ipAddressString="+ipAddressString);
            if ("0.0.0.0".equals(ipAddressString)) {
                mEnableWifiAdb.setSummary(getResources().getString(R.string.enable_wifi_adb_openwifi));
}else{
    mEnableWifiAdb.setSummary(getResources().
            getString(R.string.enable_wifi_adb_connected_summary,ipAddressString));
}
    }    } else {
            Settings.Global.putInt(getActivity().getContentResolver(),ADB_WIFI_ENABLED_KEY, 0);
            android.os.SystemProperties.set("sys.connect.adb.wifi","0");
            mEnableWifiAdb.setSummary(getResources().getString(R.string.enable_wifi_adb_summary));
        }
        }

添加网络ADB的方法(含以太网和无线)的更多相关文章

  1. Android : 网络adb配置及有线端口占用解决方法

    一.调试环境: Android Debug Bridge version 1.0.40: Nexus6P平板(Android 8.0系统): 二.网络ADB调试: 1. Android设备除了用有线u ...

  2. 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法

    Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...

  3. Linux下多网卡同网段多IP网络分流设定方法

    Linux下多网卡同网段多IP网络分流设定方法 -- :: 标签:Linux下多网卡同网段多IP网络分流设定方法 当服务器需要较高的网络流量时,在其它资源不造成瓶颈的情况下无疑会用到多网卡. 第1选项 ...

  4. iphone抓取移动网络报文的方法

    iphone抓取移动网络报文的方法 对iPhone进行越狱,网上有很多教程,这里不做说明.越狱后会有cydia这个app,首先对用户身份进行设置,选用开发者身份.打开这个应用,搜索openssh,找到 ...

  5. Android 下使用tcpdump网络抓包方法

    Android 下使用tcpdump网络抓包方法 抓包需要tcpdump以及Root权限,tcpdump在本文后有下载. 首先把tcpdump传进手机,用adb命令(放SD卡有时会有问题,我一次可以用 ...

  6. swift网络数据请求方法

    搭建一个apache服务器,用php编写一个返回给客户端请求数据的脚本 <?php // header("Content-type:text/html;charset=utf-8&qu ...

  7. flask使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法

    问题描述:flask使用第三方云通讯平台时,出现{'172001':'网络错误'} 解决方法: 在sms.py文件中添加如下代码 import ssl # 取消证书验证ssl._create_defa ...

  8. Linux添加永久路由的方法

    通常我们使用route add -net添加临时路由.当系统重启,临时路由将丢失,重新配置路由带来了不必要的麻烦.可通过固化临时路由为永久路由的方法解决该问题. static-routes文件为路由固 ...

  9. 在html中添加script脚本的方法和注意事项

    在html中添加script脚本有两种方法,直接将javascript代码添加到html中与添加外部js文件,这两种方法都比较常用,大家可以根据自己需要自由选择 在html中添加<script& ...

随机推荐

  1. AngularJS——第1章 简介

    第1章 简介 由谷歌公司开发维护的前端MVC框架,克服了HTML在构建应用上的诸多不足,降低了开发成本,提高了效率. 一个框架 以数据和逻辑作为驱动 AngularJS核心特性:模块化,双数据绑定,语 ...

  2. IEDriver executable needs to be available in the path

    解决办法: 去http://selenium-release.storage.googleapis.com/index.html 下载指定IE版本 解压后 拷贝到Python的目录下 重新运行,提示错 ...

  3. 关于map::erase的使用说明

    C++ 中经常使用的容器类有vector,list,map.其中vector和list的erase都是返回迭代器,但是map就比较不一样. 当在循环体中使用map::erase语句时,为了能够在任何机 ...

  4. 一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    在网站开发中不免因为各种兼容问题苦恼,针对兼容问题,其实IE给出了解决方案Google也给出了解决方案百度也应用了这种方案去解决IE的兼容问题? 百度源代码如下: <!Doctype html& ...

  5. c# 策略模式 加工厂模式-对象与行为分离

    计算器程序 策略模式是一种行为学模式.行为是同等级的算法  ,这些行为每个模式封装到一个类里 上端提供数据   ,下端提供算法 ,中间层context context  把上端的数据和算法  放到co ...

  6. IIS7.0上传在大小限制

    修改 IIS7的上传文件大小限制的方法: 1.打开IIS管理器,并定位于想要修改限制的网站 2.双击右侧窗口中的asp图标 3.展开最下面那个“限制属性”,将最下面的“最大请求实体主体限制”右边属性框 ...

  7. qRT-PCR 注意事项

    师姐呕心沥血整理的 qRT-PCR 注意事项 关键词: qRT-PCR 注意事项2017-07-17 10:17 来源:生物学霸 点击次数:1257 大家都在说 qRT-PCR 实验原理.引物设计.结 ...

  8. 应用内直接跳转到Appstore

    iOS开发中,应用内直接跳转到Appstore .进入appstore中指定的应用 NSString *str = [NSString stringWithFormat: @"itms:// ...

  9. 在linux虚拟机上安装Docker

    1.简介Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这个 ...

  10. 效率类APP原型制作分享----Timeglass

    本原型由国产Mockplus(原型工具)和iDoc(智能标注,一键切图工具)提供. 主要页面:启动页面.主页.添加事件页面.设置页面等. mp文件下载:点击这里 在线预览:http://run.moc ...