【随笔记】Android 命令行联网、更新DNS、同步网络时间
一、命令行联网
# 启用网卡
busybox ifconfig wlan0 up
# 启用服务
wpa_supplicant -iwlan0 -Dnl80211 -c/system/etc/wifi/wpa_supplicant.conf &
# 连接网络 (add_network 指令会返回一个序号,这里假设返回的为 0)
wpa_cli -p /data/misc/wpa_supplicant -i wlan0 status
wpa_cli -p /data/misc/wpa_supplicant -i wlan0 add_network
wpa_cli -p /data/misc/wpa_supplicant -i wlan0 set_network 0 ssid \"wifi名字\"
wpa_cli -p /data/misc/wpa_supplicant -i wlan0 set_network 0 psk \"wifi密码\"
wpa_cli -p /data/misc/wpa_supplicant -i wlan0 enable_network 0
# 分配地址
dhcpcd wlan0 &
二、更新 DNS
# 设置 DNS
ndc resolver setdefaultif wlan0
ndc resolver setifdns wlan0 "" 202.96.128.166
需要保证 service netd /system/bin/netd 服务要被启动,不然 ndc 命令无法设置。
三、同步网络时间
# 设置时区
setprop persist.sys.timezone "Asia/Shanghai"
# 同步时间(ntpclient 需要另行编译)
ntpclient -s -c 1 -h ntp7.aliyun.com -i 3
网络上流传最多的方案:
可以使用 busybox 子命令 rdate 来实现同步网络时间,但是 Android 的 busybox 是精简版的,并没有 rdate 命令的实现(实际有对应的源码,只是编译配置没有启用 rdate),可以从 busybox 官方网下载最新源码进行编译,或者使用已被编译好的 busybox ,通过 busybox rdate -s 132.163.96.6 实现网络时间同步。
实测效果并不理想,首先 rdate 不支持域名解析,其次大概率会出现同步失败的情况,甚至会出现同步时间错误的情况。
我自己选择方案是自己编译 ntpclient ,折腾了半天,才发现 NDK 没有 adjtime() 实现,因此原生的 ntpclient 源码是无法通过 NDK 编译的。
最终的解决方案:
【随笔记】Android 命令行联网、更新DNS、同步网络时间的更多相关文章
- Android命令行播放MP3音乐
/*************************************************************************** * Android命令行播放MP3音乐 * 说 ...
- MOOS学习笔记3——命令行
MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include &q ...
- android 命令行安装apk
有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入an ...
- Android 命令行模拟按键
/***************************************************************************** * Android 命令行模拟按键 * 说 ...
- Android系列之Android 命令行手动编译打包详解
Android 命令行手动编译打包过程图 [详细步骤]: 1使用aapt生成R.java类文件: 例: E:\androidDev\android-sdk-windows2.2\tools> ...
- 使用命令行+代理更新Android SDK
在无桌面的Linux上面安装Jenkins,要配置成Andorid 的持续集成环境Jenkins持续集成Android项目,需要在无桌面的Linux(ubuntu,centos)上安装Android ...
- Android 命令行执行工具类
最近在做android项目的时候,需要执行命令行命令,之前在网上找的不仅杂乱而且错误多,于是自己写了一份. 话不多说,直接上代码 import android.util.Log; import jav ...
- 学习笔记——Maven 命令行选项
2014-10-09:更新裁剪反应堆具体用法 说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之 间必须有空格.如下面的例子: $ mvn help:des ...
- Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...
- android命令行网络时间同步
一.简介 Android基于Linux平台的开源手机操作系统. 二.原理 既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的l ...
随机推荐
- ES6 学习笔记(九)Set的基本用法
1 基本用法 set类似于数组,它的成员是唯一的,当有多个相同的值,只会保留一份. 1.1 创建方法 Set本身是一个构造函数,用来生成Set实例,如: const s = new Set() let ...
- 用 VS Code 搞 Qt6:让信号和槽自动建立连接
Qt 具备让某个对象的信号与符合要求的槽函数自动建立连接.弄起来也很简单,只要调用这个静态方法即可: QMetaObject::connectSlotsByName(...); connectSlot ...
- Codeforces Round #833 (Div. 2) A-D.md
比赛链接 A 题解 知识点:数学. 注意到 \(n\) 为奇数时,不考虑连续性,一共有 \(\lceil \frac{n}{2} \rceil ^2\) 个格子,接下来证明一定能凑成方块. 从下往上从 ...
- Go语言核心36讲22
你好,我是郝林,今天我们继续来分享错误处理. 在上一篇文章中,我们主要讨论的是从使用者的角度看"怎样处理好错误值".那么,接下来我们需要关注的,就是站在建造者的角度,去关心&quo ...
- Java-ArrayList应用
存储随机数字 ArrayListRandom.java package cn.day04; import java.util.ArrayList; import java.util.Random; p ...
- i春秋Test
点开是个莫名其妙的网站...看看源码, 第一排好像有点东西 最后也有点东西,所以我们直接百度海洋CMS漏洞(https://www.freebuf.com/vuls/150042.html) 所以这里 ...
- 动态规划篇——线性DP
动态规划篇--线性DP 本次我们介绍动态规划篇的线性DP,我们会从下面几个角度来介绍: 数字三角形 最长上升子序列I 最长上升子序列II 最长公共子序列 最短编辑距离 数字三角形 我们首先介绍一下题目 ...
- JS逆向实战9——cookies DES加密混淆
cookie加密 DES 混淆 目标网站:aHR0cHM6Ly90bGNoZW1zaG9wLnlvdXpoaWNhaS5jb20vbWFpbi90ZW5kP05vdGljZUNhdGVJZD0xJk5 ...
- Kettle:跨库(SQLServer->PostgreSQL)同步多张表数据的详细设计过程
〇.参考地址 1.多个Excel实现同步 https://www.wangt.cc/2021/05/kettle%E5%A4%9A%E4%B8%AA%E8%A1%A8%E4%B8%80%E8%B5%B ...
- layui table 表头抖动
原本table超出页面宽度(即table有横向滚动条)的情况下,缩放页面然后再设置定时器定时更新表单,会发现数据不变的时候table头部会左右抖动 而且th td比设置的minWidth 或者cell ...