IDEA创建Android项目并反编译APK

(本文在mac环境下走一遍流程)
一开始我是准备使用Android Studio(弱化版的IntelliJ IDEA),后来我查看了一下 800多MB,并且我已经安装配置过 IntelliJ IDEA 了,所以就不再下载AS,直接使用IDEA来创建安卓项目。

创建安卓项目

New一个Project,选择Android:
在这里插入图片描述
Next:
在这里插入图片描述
Next:在这里插入图片描述
Next:在这里插入图片描述
Finish.
在这里插入图片描述
如果之前零安卓环境,那看缺什么再装什么。


可浏览:《Android入门基础:从这里开始

项目结构

刚创建的Android项目是一个基础的Hello World项目,包含一些默认文件,我们花一点时间看看最重要的部分:

app/src/main/res/layout/activity_my.xml

在这里插入图片描述
这是刚才用Android Studio创建项目时新建的Activity对应的xml布局文件,按照创建新项目的流程,Android Studio会同时展示这个文件的文本视图和图形化预览视图,该文件包含一些默认设置和一个显示内容为“Hello world!”的TextView元素。

app/src/main/java/example/com/androiddemo/MainActivity.java

在这里插入图片描述

用Android Studio创建新项目完成后,可在Android Studio看到该文件对应的选项卡,选中该选项卡,可以看到刚创建的Activity类的定义。编译并运行该项目后,Activity启动并加载布局文件activity_my.xml,显示一条文本:“Hello world!”

app/src/main/AndroidManifest.xml

在这里插入图片描述

manifest文件描述了项目的基本特征并列出了组成应用的各个组件,接下来的学习会更深入了解这个文件并添加更多组件到该文件中。

扫描二维码关注公众号,回复: 11259993 查看本文章

app/build.gradle

Android Studio使用Gradle 编译运行Android工程. 工程的每个模块以及整个工程都有一个build.gradle文件。通常你只需要关注模块的build.gradle文件,该文件存放编译依赖设置,包括defaultConfig设置


连接木木模拟器

1.打开Android Studio和网易MuMU模拟器

2.打开Android Studio的Terminal窗口,输入 adb connect 127.0.0.1:7555
如果没有配置 adb 的环境变量,那就找到他的绝对路径,比如 /platform-tools/abd
然后 /platform-tools/abd connect 127.0.0.1:7555

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

IDEA构建生成APP

首先介绍如何编译工程。
具体路径如下:build—>build Project.如 下图所示。

在这里插入图片描述
(如果没有error,则继续,有了百度解决下)

通过这种方法编译生成的APK保存的路径为:
该项目工程目录—>app–>build–>outputs—>apks下面。如下图所示。

在这里插入图片描述
上面所示生成的APK是调试版本,一般不能用于发布,正式版本需要选择如下路径。build—>Generate Signed APK.如下图所示。

在这里插入图片描述
当选择签名的APK时候,需要设置密码,设置好密码后,点击完成,将生成正式的APK,具体路径为:该项目工程目录—>app下面。


我修改了下 activity_main.xml,随便加了一点元素
在这里插入图片描述
然后再生成app。把生成的APK拖入到木木模拟器,发现正常安装。
在这里插入图片描述

反编译APK

使用dex2jar反编译

在这里插入图片描述
我使用手动修改了APK后缀,改为 app.rar,然后解压。
在这里插入图片描述
解压完成后找到 classes.dex 文件。把他放入 dex2jar-2.1 的目录中。
使用命令进行反编译。
sh d2j-dex2jar.sh classes.dex

在这里插入图片描述
把生成的 classes-dex2jar.jar 拖入 jd-gui 中。就能查看到代码了

在这里插入图片描述

使用Android killer反编译

直接将APK置入到配置好的Android killer中。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43582101/article/details/105222341