手动编译你的apk,可以让资源目录不命名为res, 你能够命名任何你想要的名字。
你可以在以下目录发现ant脚本: <SDK_HOME>/platforms/android-1.5/templates/android-rules.xml
第一步: 产生R文件以及包资源
aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m -J ${folder.to.output.the.R.java}]
第二步:编译java源文件以及R.java文件
use javac
第三步:将classes文件转化成Dalvik自节码
use dx.bat
dx.bat –dex –output=${output.dex.file} ${compiled.classes.directory} ${jar files..}
第四步:创建未签名的apk
use apkbuilder
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file}
or
apkbuilder ${output.apk.file} -u -z ${packagedresource.file} -f ${dex.file} -rf ${source.dir} -rj ${libraries.dir}
-rf = resources required for compiled source files?
-rj = resources required for jar files
第六步: 产生一个key
use keytool
第七步骤: 对APK进行签名
use jarsigner
jarsigner -keystore ${keystore} -storepass ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}
第八步: 发布
use adb
adb -d install -r ${signed.apk}
Inspecting your APK file:
aapt list -v latest.apk
Open questions:
1. Can you include more than one dex file in the apk?
2. Can you have dex file named other than classes.dex in the apk?
3. Does an apk have to have a packaged resource?
分享到:
相关推荐
在Android开发过程中,掌握命令行编译、签名和打包APK的方法是十分必要的。下面将详细介绍这个过程: 1. **生成R.java文件** R.java文件是Android编译系统自动生成的,它包含了应用程序资源的ID。使用aapt工具可以...
apk2java是另一种用于反编译APK的工具,它不仅能提取出Java源代码,还能处理资源文件,如图片、XML配置和语言资源等。 1. 使用流程: - 获取apk2java工具,并确保安装了Java环境。 - 将APK文件拖入apk2java的可...
JD-GUI提供了一个图形界面,可以快速查看和搜索反编译的代码,而JAD则是一个命令行工具,适合自动化处理。 3. **Apktool**:用于解包和重新打包APK文件,它可以解析资源文件并将其恢复到原始格式,便于编辑后再打包...
在Android开发领域中,反编译APK文件是一种常见的学习方式,可以帮助开发者深入了解优秀应用程序的设计和技术实现。本文将详细介绍三种常用的Android APK反编译技术,帮助开发者更好地理解和掌握这一技能。 #### ...
使用这两个工具,你可以实现以下步骤来反编译APK: 1. **解压APK**:使用ApkTool_GUI打开APK文件,选择解包选项,工具会自动处理资源文件和.dex文件。 2. **查看源代码**:解包完成后,可以浏览解压出来的目录结构...
对于不熟悉命令行操作的用户,Androidfby提供了一个图形化的界面来反编译APK。下载该工具后,直接运行程序,选择需要反编译的APK文件,工具会自动完成整个过程,包括提取源代码、资源文件等。 需要注意的是,这些反...
对于Windows和Linux用户,大多数这些工具都有命令行接口,可以轻松集成到自动化脚本中。例如,在Windows上,你可以通过批处理脚本来运行这些工具;在Linux上,可以使用shell脚本实现相同的功能。 在使用这些工具时...
"一键反编译apk工具"就是这样一种实用工具,它简化了通常繁琐的反编译过程,通过bat命令行脚本实现自动化操作。下面将详细介绍这个工具及其相关知识点。 1. APK 文件结构:APK是Android应用的打包格式,包含.dex...
总结起来,"QT for Android下多Apk创建"涉及到Qt与Android的集成、项目配置、模块化开发、版本控制、自动化构建、Apk打包和分发等多个环节。掌握这些知识点有助于开发者高效地创建适应不同需求的Android应用。在实际...
这样的工具通常会将所有步骤自动化,提高工作效率,但同时也可能隐藏了一些细节,对于深入学习反编译原理可能不够全面。 总之,Android APK反编译是一个涉及多种工具和技术的过程,包括apktool和dex2jar等,它们在...
JD-GUI提供了一个图形界面,可以直接查看和搜索反编译后的代码,而JAD则是一个命令行工具,适合自动化处理。 3. **Apktool**:这是一个强大的Android资源解包和打包工具。它可以解析APK文件的资源文件,包括布局、...
CuckooDroid,作为Cuckoo Sandbox的一个扩展,专门针对Android恶意软件的自动化分析提供了强大的工具。本文将深入探讨CuckooDroid的工作原理、安装配置、以及如何利用它来检测和分析Android恶意软件。 **Cuckoo ...
在这个场景中,lua5.3.0.dll可能作为AndroidKiller的一部分,用于提供某些高级功能或自定义逻辑,例如自动化脚本支持。 5. **configs.ini、cfgs、plugins、bin、projects**:这些目录和文件很可能包含了Android...
本篇将详细讲解三种主要的Android反编译方式——图形化、命令行和拖拽,并介绍对应的工具。 一、图形化反编译工具:jd-gui jd-gui是一款直观的Java字节码反编译器,用于查看Android应用中的类文件。它提供了一个...
除了上述方法,还有一些第三方工具和自动化流程可以用于打包,比如使用Fastlane或CI/CD服务(如Jenkins、GitLab CI/CD)自动打包和发布。这些工具通常能简化打包流程,并且在团队协作和持续集成环境中非常有用。 ...
总的来说,通过命令行创建Android项目虽然需要更多的手动操作,但它提供了更高的灵活性和透明度,适合于自动化脚本和持续集成环境。同时,了解这些底层工作原理对开发者来说非常有价值,有助于解决可能遇到的问题和...
在Android开发过程中,自动化构建是提高效率的关键环节。Apache Ant是一个广泛使用的Java构建工具,它允许开发者通过XML配置文件来定义构建任务,如编译、打包、测试等。本实例将详细讲解如何利用Ant来实现Android...
Android Studio会自动编译和打包APK。在“Build”菜单中选择“Generate Signed Bundle / APK”,按照向导步骤配置签名和发布设置。 6. **发布应用**:完成签名过程后,Android Studio会生成一个`.apk`文件,这个...
这个工具特别适合于那些需要频繁或自动化签署过程的开发者,简化了手动签名的复杂性。 首先,我们来理解一下Android应用签名的重要性。签名提供了一种方式来验证应用的来源,并确保其在安装和更新过程中未被篡改。...