当前位置:首页 » 编程软件 » 手机端apk编译

手机端apk编译

发布时间: 2023-05-18 09:48:15

㈠ 如何将手机apk 安装包反编译和重新打包签名

android应用安装到手机的是一个apk文件。apk是可以用工具进行反编译并重新打包的。本文将介绍下如何用apktool对apk进行反编译并重新打包。
工具/原料
apktool
auto sign
方法/步骤
首先我们新建一个android项目,里面只有一个MainActivity,而且主界面只会显示一个字符串:你好。

下面,我们切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。

在命令行输入:apktool d -r hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹

进入到hellodemo\smali\com\example\hello,打开MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改为:
const-string v1, "hello",

然后在命令行输入:apktool b hellodemo hellodemo1.apk。这回重新打包成hellodemo1.apk。

然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
步骤阅读
把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

㈡ Android APK编译流程

apk 是Android Package的简写, 在平时的开发过程中,通过点击 Run app 按钮 或者 在命令行中输入

这样Android Studio就会启动构建流程,最终输出一个我们想要的APK。

直达官网介绍

对于小白来说,上面一张图已经可以解释apk的构建过程了,不过对于Andoid开发者而言还需要了解一些更详细的构建过程。

详细的对应步骤 和 使用工具如下:

资源文件(res文件夹下的文件)通过 AAPT(Android Asset Packaging Tool)打包生成R.java类(资源索引表)、.arsc资源文件 和res文件。

resources.arsc 是一个App的资源索引表,通过R.java 文件 和 resources.arsc 可以定位到资源的内存地址,resources.arsc文件的作用是通过一样的ID,根据不同的配置索引到最佳的资源显示在UI中。

AIDL (Android Interface Definition Language), 是Android接口定义语言,是Android提供的IPC (Inter Process Communication,进程间通信)的一种独特实现。
如果有aidl文件,这个阶段会生成对应的Java接口文件。

R.java文件、工程源码文件、aidl.java文件, 在这一步通过javac生成.class文件。

源码.class文件和第三方jar或者library通过dx工具打包成dex文件

Android系统的Dalvik虚拟机的可执行文件为DEX格式,所以这里会将上一步中生成的.class文件 和 引用的第三方jar等过程中的.class 一起通过dx工具打包成dex文件

apkbuilder工具会将所有没有编译的资源、.arsc资源、.dex文件打包到一个完成apk文件中

tips:

apksigner工具会对未签名的apk验证签名。得到一个签名后的apk(signed.apk)

apksigner 是google 退出的V2签名方式
Jarsigner 是之前一直使用的V1签名方式

可以通过在命令行中输入apksigner --help来获取详情信息,如果没有特殊需求,使用下面命令即可完成签名

release mode 下使用 aipalign进行align,即对签名后的apk进行对齐处理

所谓对齐,主要过程是将APK包中所有的资源文件距离文件起始偏移为4字节整数倍,这样通过内存映射访问apk文件时的速度会更快。对齐的作用主要是为了减少运行时内存的使用。

zipalign是一个android平台上整理APK文件的工具,它对apk中未压缩的数据进行4字节对齐,对齐后就可以使用mmap函数读取文件,可以像读取内存一样对普通文件进行操作。如果没有4字节对齐,就必须显式的读取,这样比较缓慢并且会耗费额外的内存。

参考文章:
Android-Studio配置构建
浅谈Android打包流程
apk打包流程

END!

㈢ apk反编译/回编译

再次记录一次apk反编译/回编译过程,链接失效请留言,会及时更新。

参考博客: https://blog.csdn.net/w327918069/article/details/82761437

首先,我们需要一个apk,下图是Android Studio编写并打包的一个apk。

其实apk就相当于一个zip压缩包,通过 WinRar 工具可以对其解压缩,像这样:

此时,祭出我们的神器----> apktool ,当当当当~~~~~~~。
一行命令进行apk反编译:
apktool d -r app-debug.apk 一定要加入参数 -r ,不然后面回编译回报错。

apk反编译到此结束。

回编译就是通过 apk反编译 生成的目录文件转换成一个apk。
十分简单的一行命令:
apktool b app-debug

此时安装apk到手机无法安装成功,还需要对apk进行签名才能安装。

1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore

可以看到key.keystore已经生成。

2.对apk进行签名
可用于没有签名和已经签名的apk,再次签名。

jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]

命令格式及参数意义:

-verbose -> 输出签名过程的详细信息

-keystore [keystorePath] -> 密钥的库的位置

-signedjar [apkOut] -> 签名后的输出文件名

[apkin] -> 待签名的文件名

[alias] -> 证书别名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore

回编译完成。

㈣ Android 如何对apk文件进行反编译以及重新

第一:使用apktool直接反编译apk

第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

㈤ 安卓版apktoo怎样编译java

基本使用方法:打开apktool,进入的是根目录,找到/sdcard进入内存卡,找到要反编译的apk,选择"反编全部”,反编后的.xml要utf-8编码来修改哦,不能用RE。
编辑反编译后的.xml文件推荐使用:Jota+文本编辑器,设置打开为utf-8编码,保存为utf-8编码,设置换行为linux/android方式,最好关闭自动换行功能!
加速编译:把编译对象改为英文名,复制到根目录/cache或者/data下(系统磁盘读写速度快),然后用apktool进入/cache或者/data下,如果无法进入,可以长按目录,在弹出菜单中选择"获取访问权限"即可进入,然后选择目标apk进行反编,你会发现速度变得超快!
修改.xml必须是utf-8编码,修改完成后,要删除编辑后的备份文件,比如Jota编辑的文件会生成"原文件名~"这样的备份,要删除,回编会输出一些提示,如果提示只有五四句则成功回编,如果有"more","VS","don't"等关键字则出错!

㈥ 手机原生apk文件反编译后源码文件是哪个

相信很多开发者都知道反编译APK,正常情况下,如果我们想要看看xml,看看java源代码,是看不了的。用压缩工具解压apk得到的文件也都是二进制文件,打开后全是乱码。
    开发者能够用的也仅仅是图片资源,这往往也满足不了开发者的需求。
    下面我就给大家详细讲解一下Android-apk的反编译步骤:
    注意:反编译的前提是:开发者没有使用proguard(java代码混淆的工具)。
   1.下载反编译工具
    需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
    dex2jar:将apk中的classes.dex转化成Jar文件。
    JD-GUI:反编译工具,可以直接查看Jar包的源代码。
    apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
    apktool-install-windows-r05-ibot:辅助windows批处理工具。
    下载地址:
    dex2jar:http://code.google.com/p/dex2jar/downloads/list
    JD-GUI:http://code.google.com/p/innlab/downloads/lis
    apktool:http://code.google.com/p/android-apktool/downloads/list
    工具截图:

    2.解压缩APK包
    apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
    解压截图:

    3.反编译dex文件
    解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
    解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
    DOS行命令如下:dex2jar.bat  xx\classes.dex(xx是classes.dex文件所在的路径)。
    将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
    编译截图:

   生成jar文件的截图如下:

    4.反编译jar包
    得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
    打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
    截图如下:

    5.反编译xml文件
    打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
    具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
    在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
    截图如下:

   生成的文件:

 这样就得到了可以得到编译的源码和XML资源。
 注意:文件的路径中最好不要出现中文!

㈦ 怎样反编译 Android APK

APK文件是用专业软件eclipse编译生成的文件包。在网上可以找到许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java -jar AXMLPrinter2.jar AndroidManifest.xml 解开在apk中的AndroidManifest.xml。最近,业界有一个功能强大的解包打包工具包apktool,可以在Windows下用来方便快速地对APK文件进行解包和打包,给修改和编辑工作带来许多方便。下面来介绍它的使用。 1) APKtool软件包 APKtool软件包有2个程序组成:apktool.jar 和 aapt.exe 另外提供一个批处理文件:apktool.bat,其内容为: java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 运行apktools.jar需要java环境(1.6.0版本以上)。 apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。 2) APK文件的解包 下面以解开Contacts.apk为例。首先把Contacts.apk Copy到当前工作目录下(例:Test)。在DOS下打入命令 apktool d Contacts.apk ABC 这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。 3) APK文件的打包 在DOS下打入命令 apktool b ABC New-Contacts.apk 这里“b”表示要打包 ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。 New-Contacts.apk是打包后产生的新的APK文件。 4) Framework框架文件 在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是: apktool if framework-res.apk 安装后就会得到:~\apktool\framework\1.apk 5) 解包、解包和签名批处理 在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。 解包批处理命令: for %%i in (*.apk) do java -jar apktool.jar d %%i _%%i && move _%%i Modifying_Files && %%i Backuped_Raw_Files && @echo File [%%i] unpacking process is completed! 打包和签名批处理命令: for /d %%i in (*) do cd.. && java -jar apktool.jar b Modifying_Files\%%i && java -jar signapk.jar testkey.x509.pem testkey.pk8 Modifying_Files\%%i\dist\*.apk %%i && ren %%i New%%i && move New%%i Modified_Signed_Files && @echo %%i Complete repacking and Signing! && cd Modifying_Files

㈧ 手游APK文件反编译

电脑上着名的 apk 文件反编译器,安卓手机软件中国化所必需的 pc 软件。它将帮助你反编译成常规文件,并为你提供一个基本的帮助,为未来的 diy 工作。现在人才终于把它移植到移动电话上了,当涉及到中国化或简单地修改软件时,不再需要等待 pc 机工作。安装说明: 将数据包复制到手机 micro sd 卡的根目录,然后将主程序安装到手机上。此外,该程序需要根权限,手机必须获得和授权,才能正常使用。说明: 本程序在使用大量文件操作时,需要很长时间耐心等待。如果你在编译程序的过程中点击屏幕,程序很容易失去响应。此时,只需单击“等待” ,耐心等待程序再次响应,程序将继续编译。[社论评论] apk 工具这个计算机端的 apk 反编译软件终于被移植到手机端,中国人破解了人们必需的工具!

㈨ 反编译Android APK的具体步骤是怎样的

1、配置好JAVA环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
2打开命令提示符,(开始-运行-输入cmd)
3输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
4使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面

5 如果只是想反编译framework-res.apk

输入apktool if framework-res.apk(框架的建立)
6开始最重要的反编译,输入指令,apktool d framework-res.apk

(反编辑的APK一定要用没换过图片的,否则回编辑失败)
7最后反编译完成

修改代码完成后,输入代码:apktool d framework-res 即可完成回编译
8回编译后的新的 apk在framework/dis 文件夹里面
9如果反编译的是系统文件,比如,SystemUI.apk 那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复7-9步骤)
apktool if framework-res.apk
apktool if SystemUI.apk

10对于三星手机(比如9100、9108/9100G),如果反编译SystemUI.apk要敲入一下命令进行框架挂载apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
11回编译的命令是 apktool b XXX (没有后面的apk后缀)反编译的命令是 apktool d xxx (有后面的apk)

㈩ 手机apktool怎么回编译

1、反编译=回编译后分别是
smali目录 回编译为 classes.dex 文件
res目录 回编译为 resources.arsc 文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali 。
所以,如果没有对smali(classes.dex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。
3、出错问题1
在汉化时,往往会不小心删掉一些符号,如 "<" ">"符号等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
这些小小的错误都会导致回编时译检查出错。
所以汉化时,注意对校,然后再回编译。
建议使用一些高级的文本编辑器,支持语法高亮视图的。
4、出错问题2
最近发现有些APK文件 反编译后,就算不汉化直接回编译,都会出错。
有可能的原因1,反编译后XML文件语法中@符号 前面多了"\" (\@ ),
用文本编辑工具 直接替换【\@】为【@】,应该可以解决。
建议使用最新版本的反编译工具。
5、建议大家使用新版本的APKTool工具,
当然如果新的有问题也可以试试旧的(作者说的)

热点内容
mysql创建utf8数据库 发布:2025-07-16 00:04:08 浏览:104
开机系统用户名密码多少 发布:2025-07-16 00:03:58 浏览:692
成都高品质安全存储柜 发布:2025-07-15 23:45:38 浏览:55
页面算法操作系统 发布:2025-07-15 23:35:30 浏览:129
程序加密专家 发布:2025-07-15 23:28:13 浏览:486
别克君威15t怎么选配置 发布:2025-07-15 23:26:52 浏览:509
游戏分流解压 发布:2025-07-15 23:24:20 浏览:161
C语言中撤销 发布:2025-07-15 23:24:18 浏览:582
常见网页编程 发布:2025-07-15 23:20:16 浏览:115
投资经理编程 发布:2025-07-15 23:04:06 浏览:639