远程获得APK版本的小脚本
一个很特殊的需求。 有一些上游的 APK 包,这些包都有固定的 url。上游升级 APK 时会覆盖原文件,我需要监控它们的版本号以更新到数据库。 有时候,一些 APK 包会特别大,例如游戏,动辄上 G。所以需要一些办法,不下载整个 APK 来提取信息。
脚本如下:
@echo off goto :_Preparation 1. Install remotezip: `pip install remotezip` 2. Download aapt2: `remotezip https://dl.google.com/dl/android/maven2/com/android/tools/build/aapt2/8.3.1-10880808/aapt2-8.3.1-10880808-windows.jar aapt2.exe` :_Preparation set /p name="APK url: " remotezip "%name%" AndroidManifest.xml 1>nul zip -0 AM.zip AndroidManifest.xml 1>nul aapt2 d badging AM.zip 2>nul|grep package| awk -F "'" "{print $6}{print $4} del AM.zip AndroidManifest.xml
原理很简单,就是通过 remotezip 提取包内的 AndroidManifest.xml,将其打包进空的 zip,最后通过 aapt 解析。