1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
测试平台
Platform: RK3399/RK3328 OS: Android7.1.1/9.0/10.0 现象 在设置-以太网中设置ip地址(如dhcp-》static或static ip修改),生效后,立刻断电,重新上电开机后发现ip状态恢复到设置前。 分析 查看了一下以太网的ip设置是以文件方式保存的,怀疑是因为文件存在缓存中没有真正保存导致的。 保存地址:/data/misc/ethernet/ipconfig.txt 再次测试,在设置后运行命令adb shell sync :/data/misc/ethernet/ipconfig.txt 之后再断电,重新上电开机后发现ip状态正确。所以写入文件后sync是可以解决问题的。 解决方案 diff --git a/frameworks/base/services/core/java/com/android/server/net/IpConfigStore.java b/frameworks/base/services/core/java/com/android/server/net/IpConfigStore.java index d8718a2..3c1750a 100644 --- a/frameworks/base/services/core/java/com/android/server/net/IpConfigStore.java +++ b/frameworks/base/services/core/java/com/android/server/net/IpConfigStore.java @@ -38,6 +38,13 @@ import java.io.IOException; import java.net.InetAddress; import java.net.Inet4Address; +import java.io.File; +import java.io.FileDescriptor; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.RandomAccessFile; + public class IpConfigStore { private static final String TAG = “IpConfigStore”; private static final boolean DBG = false; @@ -167,6 +174,7 @@ public class IpConfigStore { } out.writeUTF(EOS); + out.flush(); return written; } @@ -178,10 +186,33 @@ public class IpConfigStore { for(int i = 0; i 《 networks.size(); i++) { writeConfig(out, networks.keyAt(i), networks.valueAt(i)); } + Log.v(“sjfe”,“2 writeIpAndProxyConfigurations”); + try{ + sync(filePath); + }catch (IOException e){ + Log.v(“sjfe”,“2 sync error:”+e.toString()); + } + } }); } + public void sync(String filepath) throws IOException { + File f = new File(filepath); + RandomAccessFile raf = null; + + try { + raf = new RandomAccessFile(f, “r”); + FileDescriptor fd = raf.getFD(); + fd.sync(); + + } finally { + if (raf != null) { + raf.close(); + } + } + } + public SparseArray《IpConfiguration》 readIpAndProxyConfigurations(String filePath) { SparseArray《IpConfiguration》 networks = new SparseArray《IpConfiguration》(); |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
498 浏览 0 评论
768 浏览 1 评论
667 浏览 1 评论
1893 浏览 1 评论
3138 浏览 1 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:08 , Processed in 0.500446 second(s), Total 62, Slave 54 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号