优化apk的odex处理】的更多相关文章

前文讲到了apk的反编译流程,但在有的情况下会出现apk的资源文件和代码文件分开的情况,这种情况会出现如下目录结构,并且在apk文件里面并没有dex文件. 所需工具 smali.jar和baksmali.jar 平台相关的framework文件夹,主要是core.jar(平台不同略有差异) 合并流程 将xxx.odex放在与framework同级目录下,有的平台不需要framework文件夹,例如我实验的平台只需要framework/arm/boot.oat文件,将其放在与xxx.odex同级目…
zipalign.exe是Android自带的一个档案整理工具,它可以用于优化APK安装包,从而提升Android应用与系统之间的交互效率,提升应用程序的运行速度. 操作步骤: 1.在命令行窗口输入如下命令: zipalign -f -v 4 HelloWorld_crazyit.apk HelloWorld_crazyit_zip.apk 上面的命令中各选项说明如下: -f:指定强制覆盖已有的文件 -v:指定生成详细输出 4:指定档案整理所基于的字节数,通常指定为4,也就是基于32位进行整理…
Android的ROM中有很多odex文件,相对于APK中的dex文件而言这个odex有什么作用呢? 如果你仔细观察会发现文件名时一一对应的,同时那些对应的apk文件中没有dex文件.这样做可以使其厂商保证一定的反盗版,因为没有没有dex文件的apk是无法正常安装的,而厂商直接将odex和不完整的apk文件放到手机rom固化到/system/bin中可以让一般用户无法正常导出使用 可能想到的是合并odex和apk变成apk中包含dex文件的,这样合并后最终apk文件安装在/data/中,而rom…
1.首先找到Sdk的位置 2.在电脑中找到Sdk之后点击->bulid-tools 3.点击23.0.3,将需要优化的apk复制到23.0.3的目录下(比如aa.apk) 4.回到23.0.3之后按住shift,右击打开命令行窗口,输入->zipalign -v 4 aa.apk bb.apk 完成之后提醒优化成功 5.即可在23.0.3目录下看到bb.apk…
from:http://bbs.hiapk.com/thread-1151284-1-1.html 文件夹:<ignore_js_op> 文件夹拖放到odex.cmd,出现下面的窗口后,按任意键结束,此时会在tools\123文件夹生成classes.dex:<ignore_js_op> 3.用好压工具打开123.apk,不要解压缩,将得到的classes.dex拖进去:<ignore_js_op> 4.保险期间,将加入了classes.dex的123.apk重新签名:…
项目使用AS打出的包明显比Eclipse打出的包要大一些,还是蛮费解.于是百度了一翻, 原来Eclipse使用的proguard能够遍历所有的java代码,把无用的代码去掉才生成dex文件,同 时对res资源进行压缩.而AS使用的gradle,配置shrinkResources true,zipAlignEnabled true只 是优化了zipalign和去除了无用的resource文件,文件的压缩方面比没有proguard那么强大. 其实,最基本的方法还是规范代码和项目结构(参考Androi…
你好,欢迎你的访问! 本次是APK包的下载链接: 点我下载 这是我目前实现的效果,正在完善中...…
    提示!应用程序的安装有两种情况,第一:首次启动系统时安装.第二:系统启动完毕后安装. 本篇博文基于第一种安装场景.在系统首次启动的场景中,系统会对/system/app./system/priv-app./data/app文件夹下的全部APK进行dex字节码到本地机器码的翻译,相同也会对/system/framework文件夹下的APK或者JAR文件,以及这些APK所引用的外部JAR.进行dex字节码到本地机器码的翻译.这样能够保证除了应用之外.系统中使用Java来开发的系统服务,也会统…
Android编译是否生成odex的设置 默认编译odex版本,如果需要非odex版本,请将device/huawei/k3v2_s10/BoardConfig.mk如下两个变量的值修改为:DISABLE_DEXPREOPT := trueWITH_DEXPREOPT := false其它说明A. device/hisi/k3v2oem1/下面的配置文件不再使用,对应的配置文件在device/huawei/k3v2_s10/目录,以后如果需要修改配置文件, 请在该目录下进行修改.B. out/t…
生成的Android应用APK文件最好进行优化,因为APK包的本质是一个zip压缩文档,经过优化能使包内未压缩的数据有序的排列,从而减少应用程序运行时的内存消耗.我们可以使用Zipalign工具进行APK优化. 据Android官方网站的说明,Zipalign是一款重要的优化APK应用程序的工具. 多数软件开发商在正式推出其Android应用程序,都使用Zipalign工具优化APK包.但是,仍然有一些应用程序需要我们自己动手进行Zipalign优化,例如一些个人开发的软件.一些破解版的软件.…
1.zipalign 简介 zipalign is an archive alignment tool that provides important optimization to Android application (.apk) files. The purpose is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file. Sp…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 既然写到后记篇,就代表本系列到此为止,暂时告一段落:其他一些Manager随后有时间再补,就像源码的一些翻译一样,有时间总会补上的,同时也希望大家一如既往的喜欢,直言不讳的提出宝贵意见. 后记将讲述输入模块和编译系统内容,以及对整个系统的总结. 一言不合就来图,且看下图,有关硬件消息传递-以下是消息在硬件中处理后如何传递到Window层的过程 硬件的消息,由触屏和按键触发,通过驱动处理,形成Up.…
为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场景下使用的工具. 1.Android调试 软件调试是一个伴随软件开发的必定过程.好的调试环境和工具能够提高开发的效率.在Android中,除了提供GDB调试外.还提供了DNSS.Logcat.Dmtracedump.DevTools.Procrank.Dumpsys等开发工具供开发人员使用,当中DM…
1.什么是APK APK,即Android Package,Android安装包.不同平台的安装文件格式都不同,类似于Windows的安装包是二进制的exe格式,Mac的安装包是dmg格式.APK可以再Android上执行安装,APK的本质是一个Zip压缩包,只是后缀被修改为apk,其中打包了源代码编译出的class.dex.一些图片视屏资源文件和一些Native库文件.APK文件与Zip文件最大的一个不同是APK包含签名文件,用于保证安装包安全不被修改. 2.什么是DEX文件和ODEX文件 J…
https://www.jianshu.com/p/389911e2cdfb https://www.jianshu.com/p/a468e714aca7 ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·odex文件单独存放,原APK中的classes.dex文件会保留. 优化是依据当前ROM的特性进行的,会减少很多冗余信息,和当前ROM强相关,优化后,文件减小很多.加载快,运行快.优化发生在手机从出产状态到第一…
apk安装或启动时,会通过dexopt来将dex生成优化后的odex文件.过程是将apk中的classes.dex解压后,用dexopt处理并保存为“/data/dalvik-cache/data@app@<package-name>-X.apk@classes.dex”文件,如下图. odex文件结构如下: 从上图中我们可以发现,dex文件作为odex的一部分,我们可以从odex中找到dex部分处理  但是odex仅存在于4.4以前,ART模式下dex则被优化成oat文件.…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
1.Binder(IPC) Linux进程之间要能够互相通信,从而共享资源和信息.所以,操作系统内核必须提供进程间的通信机制(IPC,Inter-Process Communication). IPC机制种类:采用命名管道(name pipe),消息队列(message queue),信号(signal),内存共享(share memory); 在Android终端上的应用软件的通信几乎看不到这些IPC通信方式,取而代之的是Binder方式. Binder是通过Linux的Binder Driv…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d…
1.Android预优化的原理 先来回顾一下Android的发展史,在2014年的Google I/O大会上,Google隆重的发布了Android 4.4操作系统,其中有一个环节着重介绍了ART(Android runtime),也就是虚拟机,也就是运行APP的环境,也就是运行Java代码的虚拟机.虽然Android 4.4版本默认仍然用DVM(Dalvik VM),但到Android 5.0时ART就变成了默认模式,自此,DVM时代一去不再复返. DVM和ART和Android的预优化有什么…
APK文件结构Android应用是用Java编写的,利用Android SDK编译代码,并且把所有的数据和资源文件打包成一个APK (Android Package)文件,这是一个后缀名为.apk的压缩文件,APK文件中包含了一个Android应用程序的所有内容,是Android平台用于安装应用程序的文件.APK就是一个zip压缩包,解开这个APK包我们可以看到以下的结构: Figure 1 APK文件结构1) assets目录:用于存放需要打包到APK中的静态文件,和res的不同点在于,ass…
Android项目以它的包名作为唯一标识,如果在同一设备上安装两个相同的应用,后面安装的应用就会覆盖前面安装的应用.为了避免这种情况的发生,我们需要对作为产品发布的应用进行签名. 签名其实有两个作用: (1) 确定发布者的身份.防止别人用相同包名来替换你已安装的程序. (2) 确保应用的完整性.签名会对应用包中的每个文件进行处理,以确保程序包中的文件不会被替换. 在应用的开发和调试阶段,Eclipse的ADT插件或ANT工具会自动生成调试证书,对Android应用签名.但是,如果要正式发布一个A…
上一节,可以通过添加su的方式获取系统权限,但这种存在安全隐患,故不推荐,本文通过获取数字签名方式获取系统权限. 在我们的AndroidManifest.xml中添加    android:sharedUserId="android.uid.system",添加后应该类似 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xx.xx.xx…
希望使用的第三方Recovery下载地址: ClockworkMod ROM Manager - Recoveries http://clockworkmod.com/rommanager 适配的型号很多,版本也很多,但是不知道哪个版本的Recovery在酷派8150S上能正常使用,于是只能使用最笨的办法一个个移植后刷试试. 移植的方法是网上搜的: 1.准备要移植的其他第三方recovery,注:最好是和你的机器是相同平台的,比如要我的T910是MTK6577的,我移植的是夏新N820也是MT6…
关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar  baksmali.jar  -a <api_level>  -x <odex_file>  -d <framework_dir> 2.smali ->dex java -Xmax512M -jar samli-2.0.jar  <smali_dir>   -o class…
昨天在使用adb卸载程序,结果死活卸载不了.我输入的命令和系统提示如下: [plain] view plaincopy   arthur@arthur-laptop:~$ adb uninstall com.hase.bclm.client-2.apk Failure 后来发现原来卸载程序时,只adb uninstall 后边的参数不应该是.apk文件,而是包名,即AndroidMainifest.xml文件中<manifest>节点下,package元素所指定的名字,如下所示: [plain…
作 者: Mzucore 时 间: 2013-05-10, 17:18:23 链 接: http://www.unpack.cn/thread-93058-1-1.html 下载地址:http://bbs.pediy.com/showthread.php?p=1175865 网盘传送:http://pan.baidu.com/share/link?shareid=446273&uk=3910170224 更新内容:   1.修复重建.apk功能的BUG,提高重建.apk成功的概率.   2.新增…
官方文档:https://developer.Android.com/tools/publishing/app-signing.html 1. 默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore 2. Release Mode 签名: build.gradle: android { signingConfigs { releaseConfig { keyAlias 'stone' keyPassword 'mypwd' storeFile…
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯,前面讲了那么多,是时候生成一个APK在真机上玩玩了. 今天的学习内容? 也只讲一个,如何打包生成安卓可安装的APK并精简大小. 正文 我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决…