做网站天津可以自己做网站
- 作者: 五速梦信息网
- 时间: 2026年03月19日 09:53
当前位置: 首页 > news >正文
做网站天津,可以自己做网站,国内永久免费crm系统网站推荐大全,牡丹江3d网站开发最近在做Amlogic T982的样机#xff0c;关于以太网部分#xff0c;系统Settings只有一个Ethernet的条目#xff0c;没有其他任何信息#xff0c;什么以太网mac地址#xff0c;开关#xff0c;IP地址#xff0c;子网掩码#xff0c;默认网关#xff0c;dns, 设置代理关于以太网部分系统Settings只有一个Ethernet的条目没有其他任何信息什么以太网mac地址开关IP地址子网掩码默认网关dns, 设置代理设置静态IP这些功能统统都没有只能自己参考Android11的代码移植过来目前来看其他都正常只有静态IP设置后无法保存重启之后依然还是dhcp 查了logcat发现如下信息 07-26 03:24:59.141 572 2065 E DelayedDiskWrite: Error writing data file /data/misc/apexdata/com.android.tethering/misc/ethernet/ipconfig.txt 07-26 03:24:59.141 972 972 D EthernetSettings: curEtherStateETHER_STATE_CONNECTING 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: updateInterface, iface: eth0, ipConfig: IP assignment: STATIC 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: Static configuration: IP address 192.168.0.179⁄24 Gateway 192.168.0.1 DNS servers: [ 192.168.0.1 0.0.0.0 ] Domains 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: Proxy settings: NONE 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: , old ipConfig: IP assignment: DHCP 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: Proxy settings: NONE 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: , capabilities: null, old capabilities: [ Transports: ETHERNET Capabilities: NOT_METEREDINTERNETNOT_RESTRICTEDTRUSTEDNOT_VPNNOT_ROAMINGNOT_CONGESTEDNOT_SUSPENDEDNOT_VCN_MANAGED LinkUpBandwidth100000Kbps LinkDnBandwidth100000Kbps Specifier: EthernetNetworkSpecifier (eth0) UnderlyingNetworks: Null], listener: null 07-26 03:24:59.141 572 748 D EthernetNetworkFactory: reconnecting Ethernet 看起来是在写这个文件/data/misc/apexdata/com.android.tethering/misc/ethernet/ipconfig.txt失败了 找到相关代码位置packages/modules/Connectivity/service-t/src/com/android/server/ethernet/EthernetConfigStore.java 发现是直接在写配置文件也没有去判断路径文件是否存在于是手动创建目录和文件之后发现IP配置信息会写进去但是重启之后发现依然还是dhcp 在write方法里面做了路径判断路径不存在就去创建并且把路径改成了以前的老版本的路径 data/misc/ethernet/ipconfig.txt 修改如下 public void write(String iface, IpConfiguration config) {
- write(iface, config, APEX_IP_CONFIG_FILE_PATH CONFIG_FILE);//write(iface, config, APEX_IP_CONFIG_FILE_PATH CONFIG_FILE);String filePath LEGACY_IP_CONFIG_FILE_PATH CONFIG_FILE;try {File dir new File(LEGACY_IP_CONFIG_FILE_PATH);if (!dir.exists()) {Log.i(TAG, write path APEX_IP_CONFIG_FILE_PATH , dir.exists() dir.exists());dir.mkdirs();}File file new File(filePath);if (!file.exists()) {file.createNewFile();}Log.i(TAG, write file.exists() file.exists());} catch (Exception e) {Log.i(TAG, writee: e.getMessage());}write(iface, config, filePath);} 这样试了一下发现可以正常保存和获取到静态IP信息。 以为这样就万事大吉拉并没有在反复测试中偶然发现设置静态IP后重启竟然卡在开机动画无限循环logcat也没有看到有用的信息百思不得其解cat data/misc/ethernet/ipconfig.txt查看了一下配置文件竟然是空的设置好静态IP之后我确定查看过这个文件IP信息已经写进去了没想到竟然会丢失数据于是把这个配置文件删除再重启发现就可以正常开机了那这个随机丢失数据导致不能开机的问题也太致命了这要是发给客户不得被喷死还得继续研究一下是什么问题。 我有仔细研究了一下logcat发现了报错信息 ——— beginning of crash 07-26 06:56:29.917 580 580 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main 07-26 06:56:29.917 580 580 E AndroidRuntime: java.lang.RuntimeException: Failed to boot service com.android.server.ConnectivityServiceInitializer: onBootPhase threw an exception during phase 500 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:297) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.SystemServer.startOtherServices(SystemServer.java:2664) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:938) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:648) 07-26 06:56:29.917 580 580 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:914) 07-26 06:56:29.917 580 580 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to read from field int android.util.ArrayMap.mSize on a null object reference in method void android.util.ArrayMap.putAll(android.util.ArrayMap) 07-26 06:56:29.917 580 580 E AndroidRuntime: at android.util.ArrayMap.putAll(ArrayMap.java:705) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ethernet.EthernetConfigStore.loadConfigFileLocked(EthernetConfigStore.java:112) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ethernet.EthernetConfigStore.read(EthernetConfigStore.java:104) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ethernet.EthernetConfigStore.read(EthernetConfigStore.java:87) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ethernet.EthernetTracker.start(EthernetTracker.java:196) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ethernet.EthernetServiceImpl.start(EthernetServiceImpl.java:85) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.ConnectivityServiceInitializer.onBootPhase(ConnectivityServiceInitializer.java:97) 07-26 06:56:29.917 580 580 E AndroidRuntime: at com.android.server.SystemServiceManager.startBootPhase(SystemServiceManager.java:294) 07-26 06:56:29.917 580 580 E AndroidRuntime: … 6 more 07-26 06:56:29.917 623 642 V APM::AudioPolicyEngine: getDevicesForStrategyInt no device found for strategy 1 查看代码位置 private void loadConfigFileLocked(final String filepath) {final ArrayMapString, IpConfiguration configs IpConfigStore.readIpConfigurations(filepath);mIpConfigurations.putAll(configs);} 原来是这里直接读取文件读到的信息是空的没有判断就放进ArrayMap 看log报错是int android.util.ArrayMap.mSize空指针就是说获取的这个configs为null /** Returns a map of network identity token and {link IpConfiguration}. */public static ArrayMapString, IpConfiguration readIpConfigurations(InputStream inputStream) {ArrayMapString, IpConfiguration networks new ArrayMap();DataInputStream in null;try {in new DataInputStream(inputStream);int version in.readInt();if (version ! 3 version ! 2 version ! 1) {loge(Bad version on IP configuration file, ignore read);return null;} 就是这里文件内容是空的就直接return null 了 loadConfigFileLocked方法里面拿到数据configs也没有判断是否为空就直接putAll传进去了这就导致遍历map时候空指针了。 我发现就算解决了这个空指针的问题不会出现开机报错卡在动画依然解决不了问题数据还是会丢失静态IP还是无法保存客户依然会喷人这可怎么办自己写一个保存获取静态IP的逻辑吗 我仔细分析了一下这问题不是单纯的保存获取数据的问题了系统代码这个写文件读文件的操作没什么大毛病自己写一个逻辑依然是文件读写这个可能涉及到系统文件读写的问题可能是软件也可能是硬件问题需要进一步排查分析原因。。。
相关文章
-
做网站腾讯云服务器吗wordpress怎么搭建网站
做网站腾讯云服务器吗wordpress怎么搭建网站
- 技术栈
- 2026年03月19日
-
做网站特别注意什么织梦手机网站模板删除不了
做网站特别注意什么织梦手机网站模板删除不了
- 技术栈
- 2026年03月19日
-
做网站谈单脑白金广告
做网站谈单脑白金广告
- 技术栈
- 2026年03月19日
-
做网站图片分辨率多少360网站页面的工具栏怎么做
做网站图片分辨率多少360网站页面的工具栏怎么做
- 技术栈
- 2026年03月19日
-
做网站图片切图是什么丰城市建设局网站
做网站图片切图是什么丰城市建设局网站
- 技术栈
- 2026年03月19日
-
做网站图片软件开发和程序员哪个工资高
做网站图片软件开发和程序员哪个工资高
- 技术栈
- 2026年03月19日
