Hello! 欢迎来到阿珏酱のBlog!

Android查看apk安装包的AndroidManifest.xml文件


avatar
阿珏 2020-04-19 1.44k

起因
上周在做安卓系统的厂家推送功能,某些机型无法离线厂推,所以准备解包apk看一下打包参数是否出问题。

序言
在Android开发中,可能需要从我们自己的应用跳转到别的应用的界面,但是在不知道别的应用的包名以及类名的情况下,是很难做到这一点的,有个最简单的方法就是下载应用的apk文件,然后修改后缀名为zip或者rar,之后解压文件,在解压出来的文件中,就会有一个AndroidManifest.xml的文件,但是打开之后,可能是乱码,这就尴尬了,那怎么办呢?

AXMLPrinter2.jar是一款常用的apk反编译工具,主要用于反编译apk文件,包括包名、版本号和图标等信息,可以用AXMLPrinter2对androidmanifest.xml反编译进行明文查看。

使用方法
1、 下载工具AXMLPrinter2.jar工具 地址:https://code.google.com/archive/p/android4me/downloads
2、 将要查看的AndroidManfist.xml文件拷贝至与工具相同文件夹下
3、 在当前文件夹打开DOS窗口
4、 执行如下命令

java -jar AXMLPrinter2.jar AndroidManifest.xml >> AndroidManifest.txt

执行完该命令后会在该文件夹生成AndroidManifest.txt文件,该文件便是解码后的文件。

当然,可能有些执行后就会报错 :’java’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
这是因为没有安装Java环境或未配置环境变量导致的。

安装JDK
首先先来回顾下安装JDK的过程

1. 下载JDK并安装

JDK1.6、1.7、1.8任君选择下载,想用哪个直接下载哪个吧
官方网站下载JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
安装很简单,无脑下一步操作就行了,这里不再赘述

2. 配置JDK环境变量

(1)右击电脑中的“我的电脑”,win10为“这台电脑”,选择“属性”,选择高级系统设置 ,在新界面中选择“环境变量”,我们只编辑“系统变量”就可以了

(2) 点击新建添加变量名为“JAVA_HOME”,变量值为“C:\Program Files\Java\jdk1.8.0_60”,这个值就是你安装的JDK路径,你安装到了哪里,就用那个地址就行
再新建一个变量名为“CLASSPATH”,变量值为“.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar”的变量,并确定保存,注意值内的“.;”不要漏掉,每一个符号都不能少

最关键的一步来了,找找有没有叫“path”的变量,大小写都行,没有则新建,有则直接点编辑 
如果已经有path这个变量了,那么里面一定保存了一些内容,我们不管它,为了更方便编辑,我们把其中的变量值先复制出来

然后将内容粘贴到文本编辑器中,在内容的最前面添加内容“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”,结果如下

然后再把整个值复制后粘贴到之前编辑的变量值中,确定保存。

回顾一下上边的步骤,其中总共添加了三个值:
JAVA_HOME:C:\Program Files\Java\jdk1.8.0_60
CLASSPATH:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

下面是验证安装是否成功

win+R打开运行,输入cmd后打开命令行
输入“java”,正常会显示一大堆的操作提示
输入“java -version” ,正常会显示你安装的java版本号信息
输入“javac”,正常会显示javac的一些用法

完结撒花!

  • avatar
    游客

    博主的这套方法有点东西啊,果然优秀。[aru_22]

  • avatar
    游客

    为什么你会那么多东西?[aru_2]

    • avatar
      博主

      @ 壹言 @壹言:可能这就是优秀的人吧[aru_36]

  • avatar
    游客

    [私密评论]阿珏呀,你的新浪图床源码还可以用吗?目前找到的最好的图床源码就是你这个了,可是我上传失败,一直让我检查控制台

    • avatar
      博主

      @ Jerry @Jerry:en~,怎么说呢,就是不能用了

发表评论

相关阅读