编译安卓步骤
用最新的Ubuntu 16.04,请首先确保自己已经安装了Git.没安装的同学可以通过以下命令进行安装:
sudo apt-get install git git config –global user.email “[email protected]” git config –global user.name “test”
其中[email protected]为你自己的邮箱.
简要说明
android源码编译的四个流程:1.源码下载;2.构建编译环境;3.编译源码;4运行.下文也将按照该流程讲述.
源码下载
由于某墙的原因,这里我们采用国内的镜像源进行下载.
目前,可用的镜像源一般是科大和清华的,具体使用差不多,这里我选择清华大学镜像进行说明.(参考:科大源,清华源)
repo工具下载及安装
通过执行以下命令实现repo工具的下载和安装
mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repochmod a+x ~/bin/repo
补充说明
这里,我来简单的介绍下repo工具,我们知道AOSP项目由不同的子项目组成,为了方便进行管理,Google采用Git对AOSP项目进行多仓库管理.在聊repo工具之前,我先带你来聊聊多仓库项目:
我们有个非常庞大的项目Pre,该项目由很多个子项目R1,R2,...Rn等组成,为了方便管理和协同开发,我们为每个子项目创立自己的仓库,整个项目的结构如下:
这里写图片描述
执行完该命令后,再使用make命令继续编译.某些情况下,当你执行jack-admin kill-server时可能提示你命令不存在,此时去你去out/host/linux-x86/bin/目录下会发现不存在jack-admin文件.如果我是你,我就会重新repo sync下,然后从头来过.
错误三:使用emulator时,虚拟机停在黑屏界面,点击无任何响应.此时,可能是kerner内核问题,解决方法如下:
执行如下命令:
通过使用kernel-qemu-armv7内核 解决模拟器等待黑屏问题.而-partition-size 1024 则是解决警告: system partion siez adjusted to match image file (163 MB >66 MB)
如果你一开始编译的版本是aosp_arm-eng,使用上述命令仍然不能解决等待黑屏问题时,不妨编译aosp_arm64-eng试试.
结束吧
到现在为止,你已经了解了整个android编译的流程.除此之外,我也简单的说明android源码的多仓库管理机制.下面,不妨自己动手尝试一下.
㈡ 怎么反编译安卓apk
反编译安卓APK的方法主要包括使用特定工具进行解包、转换和查看源代码。以下是详细步骤:
首先,需要准备反编译所需的工具。常用的工具有apktool、dex2jar和jd-gui等。这些工具可以分别完成APK文件的解包、将classes.dex文件转换为.jar文件,以及查看.jar文件的源代码。此外,还有一些在线工具如JADX、Androguard等,它们可以直接将APK文件上传进行反编译,操作相对简单。
其次,使用apktool工具解包APK文件。在解包之前,需要确保已经安装了apktool,并且将其添加到了系统的环境变量中。然后,通过命令行进入到APK文件所在的目录,执行解包命令。解包完成后,会生成一个与APK文件同名的目录,其中包含了APK文件的资源和代码。
接下来,使用dex2jar工具将classes.dex文件转换为.jar文件。将解包得到的classes.dex文件放置到dex2jar工具的目录下,执行转换命令。转换完成后,会生成一个对应的.jar文件。
最后,使用jd-gui等工具打开生成的.jar文件,即可查看源代码。需要注意的是,由于代码可能经过优化、混淆或压缩,因此反编译后的代码可读性可能会较差。
除了上述方法外,还有一些其他的反编译工具和在线服务可供选择。这些工具和服务可能具有不同的特点和优势,可以根据具体需求进行选择。
需要强调的是,反编译他人应用的代码可能涉及法律问题。在进行反编译操作之前,请务必确保自己拥有合法的授权或权限,并遵守相关的法律法规。
总的来说,反编译安卓APK的过程需要借助专业的工具和技术手段来完成。通过掌握这些工具和方法,可以有效地进行APK文件的反编译和源代码查看工作。
㈢ 安卓apk反编译、修改、重新打包、签名全过程
在处理安卓apk时,尽管代码混淆是保护开发者权益的重要手段,但出于学习目的,我们探讨如何在特定情况下反编译apk。主要工具包括apktool用于编译和反编译,以及dex2jar和jd-gui进行源码查看。
首先,确保你的系统安装了java,并下载apktool.bat脚本和apktool.jar。将它们放在同一目录,通过命令行操作。命令行中的反编译命令如:apktool.bat d [-s] -f -o,其中[-s]表示选择文件夹,-f表示强制反编译,-o指定输出目录。若不指定,将默认在C:\Users\Administrator目录生成。
在反编译过程中,需要配合dex2jar工具将classes.dex转换为源码文件,然后jd-gui用于查看。如果apk经过混淆,可能需要在线研究以理解混淆后的代码。
对于修改apk资源,只需替换res文件夹中的相应文件。但修改代码则相对复杂,因为反编译后的结果是smali语言,类似于汇编,需要对照smali文件和源码进行操作。
签名apk则涉及keytool和jarsigner工具。首先,通过keytool生成keystore文件,然后在同一目录下使用jarsigner对apk进行签名。签署过程中,需要输入keystore信息并指定证书的有效天数。注意,签名后的apk需要先卸载原版才能安装。
㈣ 镐庝箞鍙岖紪璇戝畨鍗揳pk
闇瑕佸嗳澶囩殑宸ュ叿锛氱数鑴戯纴鍙岖紪璇戝伐鍏稩LSpy銆
1銆侀栧厛鍦ㄧ栌搴︿笂鎼灭储涓嬭浇鍙岖紪璇戝伐鍏稩LSpy锛岃В铡嫔悗濡傚浘锛屽弻鍑.exe鏂囦欢镓揿紑瑙e帇宸ュ叿銆
㈤ 安卓4.0如何反编译resources.arsc
resources是APK中的资源文件,例如图片布局等等,android 反编译的方法,需要用到几个工具,网络一下都能找到下载地址
dex2jar JD-GUI apktool
反编译步骤:
1.反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
具体步骤:
1.首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
运行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
还是下载工具,这次用到的是apktool
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
1.解压缩下载的两个文件包,apktool-install-windows-r04-brut1.tar解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解压后的一个.jar 文件到解压后的\apktool-install-windows-r04-brut1文件夹里)
2.特别注意:你要反编译的文件一定要放在C盘的根目录里