IDEA创建Android项目并反编译APK

2021-11-22 17:40:37 浏览数 (1)

IDEA创建Android项目并连接木木模拟器后反编译APK
  • 创建安卓项目
  • 项目结构
    • app/src/main/res/layout/activity_my.xml
    • app/src/main/java/example/com/androiddemo/MainActivity.java
    • app/src/main/AndroidManifest.xml
    • app/build.gradle
  • 连接木木模拟器
  • IDEA构建生成APP
  • 反编译APK
    • 使用dex2jar反编译
    • 使用Android killer反编译

(本文在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文件描述了项目的基本特征并列出了组成应用的各个组件,接下来的学习会更深入了解这个文件并添加更多组件到该文件中。

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中。

0 人点赞