Android Socket本地部署APK更新方案
Android 设备做服务器来更新另一台 Android 的 apk,是一种比较灵活的本地部署方式。利用Socket搞个 TCP 服务器,一台设备充当“服务端”,另一台是“客户端”,就能在 WiFi 下搞定 apk 传输和安装。操作不复杂,关键点主要在Socket 编程、文件流传输、权限配置这几个环节。
Android 的ServerSocket挺好用,监听个端口,等客户端连接,一旦连上就能用InputStream/OutputStream传 apk 文件。文件大也不怕,分块传输就行了。你要是担心中间人攻击,那就考虑上SSL,不过配置起来稍微麻烦点。
网络传输在 Android 里不能跑主线程,推荐你用AsyncTask或Handler。你也可以试试线程池,效率还不错。还有,两个设备得在同一个 WiFi 网络下,不然连都连不上。IP 地址可以在设置里看,写死在客户端也行,但最好做成可配置的。
apk 传过去后怎么装?你可以用PackageManager调用installPackage()
,不过 Android 8 之后要注意权限问题,得给应用装 apk 的权限。还有记得动态申INTERNET和读写存储权限,不然你传了半天也白搭。
代码结构方面,服务端监听、客户端求,文件接收和安装,建议分模块写,逻辑清晰,后期扩展也方便。你要是想深入,可以看看下面几个链接,都是和Socket 通信、文件传输相关的例子,写得还挺实在的。
如果你手头有两台 Android 设备,想自己搭个 apk 推送系统,试试这种方式还挺靠谱的。不用服务器、部署快,调试也方便。
Android设备做服务器更新另一台Android的apk.zip
预估大小:2个文件
Android设备做服务器更新apk
文件夹
UpgradeApkClient.zip
1.87MB
UpgradeApkServer.zip
1.9MB
3.77MB
文件大小:
评论区