Android-PHP获取嵌入APK的第三方SDK信息?
最近在项目开发中有需求要获取开发者上传apk软件中是否含有第三方SDK,同时做对应操作策略,希望大家有以前接触过的给与一些比较成熟的获取方案,这里补充一下,问题中所说的SDK就是大家在使用android软件中常遇到的广告!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可以这么实现:
1.解压apk
java有很多种解压zip的代码,选择一个比较高效的先把apk解压到一个目录下。
2.反编译AndroidManifest.xml文件
虽然代码被混淆,但是这个文件采用一般的decompiler是比较“稳定”的获得源码的。
3.java读取上面的AndroidManifest.xml文件。
4.检测是否有类似的activity或者receiver
如Admob
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:name="com.google.ads.AdActivity" />
InMobi
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity" android:configChanges="keyboardHidden|orientation|keyboard" />
上述代码可以用java完成形成一个可执行的jar包,返回广告列表。php调用此jar包,获得结果。
上述方法的缺点是不断的解压文件,对服务器有一些冲击。所以如果采用上述方案,需要悠着点(sleep)。