如何查看 apk 文件的渠道商/渠道号?

2020-11-12 19:54:03 +08:00
 JinTianYi456

从不同应用商店下载的同一版本 apk,16 进制比较会发现有个渠道号的差异

如何提取出渠道号信息?aapt (Android Asset Packaging Tool) 命令可以吗?

6279 次点击
所在节点    Android
10 条回复
fansangg
2020-11-13 00:20:21 +08:00
反编译 manifest ?
shily
2020-11-13 08:06:02 +08:00
都是开发自己定义的五花八门,没有统一的办法看。
JinTianYi456
2020-11-13 08:22:24 +08:00
@fansangg #1 AndroidManifest.xml 吗?抱歉,信息不是写在这里面的
@shily #2 貌似是写在文件尾部几个字节里的
a719114136
2020-11-13 10:22:34 +08:00
不同的 apk 放的位置不一样。同 2 楼完全是开发自己决定的
xloger
2020-11-13 10:22:38 +08:00
这个你得反向思考对方是怎么实现渠道打包的。
首先先通过 apksigner 看是 v 几签名。如果是 v1 签名大概率是用的旧的打包方案,存在 manifest 的和 META-INF 空文件夹写入的方式为多。
如果是 V2 签名,大概率是美团的那个方案,在 zip 头文件信息还是哪加了渠道内容,你去了解一下他们的实现原理应该也能找到。
TanMusong
2020-11-14 13:53:45 +08:00
渠道号是开发商自己的吧 Android 没有渠道号这个配置
一般有包名,或者 AndroidManifest.xml ,或者直接是代码里常量
sinyu1012
2020-11-18 17:05:42 +08:00
一般都是 美团 的多渠道打包方案,把渠道信息写进 apk 文件里,美团多渠道打包方案: https://github.com/Meituan-Dianping/walle

其中有提供 jar 包命令行,获取信息:显示当前 apk 中的渠道和额外信息:java -jar walle-cli-all.jar show /Users/Meituan/app/build/outputs/apk/app.apk
tlxdebug
2020-11-19 12:39:05 +08:00
这要看对方写渠道号的方式是什么样的,可能有以下几种方式:
1 、META-INF 下的空文件,早年大家多是这么干的;
2 、AndroidManifest.xml 中,可能性比较小,改这个 xml 需要重新编译,不符合快速出包的场景;
3 、对 zip 文件下手,有美团的 walle,腾讯的 VasDolly 等;
tlxdebug
2020-11-19 12:44:23 +08:00
我们公司正在招聘 Android 开发工程师,欢迎自荐,https://www.v2ex.com/t/727059
AoEiuV020
2020-12-19 16:07:34 +08:00
渠道信息一般写在包名或者版本名,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/724561

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX