Android P去掉DEX优化编译
Android P的系统编译中,采用了DEX优化编译。
单个apk或者jar去Dex编译
在系统中编译出来的文件如下:
oat
-arm64
-SystemUI.odex
-SystemUI.vdex
SystemUI.apk
生成了后缀为odex和vdex的文件,在调式过程中,可能会出现问题。
去掉DEX优化编译的方法:
1、mm WITH_DEXPREOPT=false
2、Android.mk中增加:LOCAL_DEX_PREOPT := false
整个系统去DEX编译
make -j8 WITH_DEXPREOPT=false
报错:
ninja: no work to do.
[1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
No need to regenerate ninja file
Environment variable WITH_DEXPREOPT was set, regenerating...
: error: : DEXPREOPT must be enabled for user and userdebug builds
build/make/core/dex_preopt.mk:55: error: done.
09:51:08 ckati failed with: exit status 1
修改build/make/core/dex_preopt.mk
# Non eng linux builds must have preopt enabled so that system server doesn't run as interpreter# only. b/74209329ifeq (,$(filter eng, $(TARGET_BUILD_VARIANT)))ifneq (true,$(WITH_DEXPREOPT))ifneq (true,$(WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY))$(call pretty-error, DEXPREOPT must be enabled for user and userdebug builds)endifendifendif
将ifneq (true, ( W I T H D E X P R E O P T ) ) 改 为 i f e q ( t r u e , (WITH_DEXPREOPT))改为ifeq (true, (WITHDEXPREOPT))改为ifeq(true,(WITH_DEXPREOPT))或者ifneq (false,$(WITH_DEXPREOPT))
因为默认eng编译,WITH_DEXPREOPT必须打开为true,否则提示编译报错。
即:非英文linux构建必须已启用preopt,以便系统服务器不会仅作为解释器运行。
Android P去掉DEX优化编译相关推荐
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | dvmDexFileOpenPartial | dexFileParse | 脱壳点 | 获取 dex 文件在内存中的首地址 )
文章目录 前言 一.DexPrepare.cpp 中 rewriteDex() 方法分析 二.DvmDex.cpp 中 dvmDexFileOpenPartial() 方法分析 ( 脱壳点 ) 三.D ...
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmContinueOptimizati() 函数分析 )
文章目录 前言 一.DexPrepare.cpp 中 dvmContinueOptimizati() 方法分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ( DEX 优化流程分析 | D ...
- 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )
文章目录 前言 一.DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 二./bin/dexopt 源码分析 前言 上一篇博客 [Android 逆向]整体加固脱壳 ...
- 【Android 安全】DEX 加密 ( Java 工具开发 | 加密解密算法 API | 编译代理 Application 依赖库 | 解压依赖库 aar 文件 )
文章目录 一.加密解密算法 API 二.编译代理 Application 依赖库 三.解压代理 Application 依赖库 aar 文件 参考博客 : [Android 安全]DEX 加密 ( 常 ...
- 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
文章目录 一.apktool 1.apktool 简介 2.直接解压 3.使用 apktool 反编译 4.使用 apktool 重新打包 二.dex2jar 1.dex2jar 简介 2.dex2j ...
- android 内存和性能优化汇总
1.即时编译(Just-in-time Compilation,JIT),又称动态转译(Dynamic Translation),是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技 ...
- android studio 多dex,AndroidStudio利用android-support-multidex解决64k的各种异常
64k的各种异常 当你的应用程序和库引用达到一定规模,你遇到构建错误显示你的应用已经达到了一个Android应用程序构建体系结构的限制.早期版本的构建系统报告这个错误如下: Conversion to ...
- 【Android 安全】DEX 加密 ( Proguard 简介 | 默认 ProGuard 分析 )
文章目录 一.Proguard 配置简介 二.Proguard 完整注释 一.Proguard 配置简介 更多 ProGuard 混淆配置参考 : https://www.guardsquare.co ...
- 《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译
本文摘自人民邮电出版社异步社区<深入理解Android内核设计思想(第2版)(上下册)> 购书地址:http://item.jd.com/12212640.html 试读地址:http:/ ...
最新文章
- 使用代理软件之后其他软件不能联网的解决方法
- BAT面试必知:DubboZookeeper面试集锦
- osmnx 补充笔记:get_edge_colors_by_attr get_node_colors_by_attr
- 配置启动MySQL的Docker容器
- javaweb学习总结(十九):JSP标签
- 通过adb巧用monkey获取android设备中所有应用的主activity
- SQL注入-联合注入
- 使用vmware12安装Ubuntu 遇到的两个问题和解决
- 【POJ】1384 Piggy-Bank
- python扇贝每日一句api,英语每日一句API封装
- IRS beamforming 译
- 全桥并网逆变器PLECS仿真
- Andriod OpenGL 教程 10 - 3D世界
- JAVA 订单号生成类
- java 配置文件加密_Spring cloud config 配置文件加密方式
- Invalid MEX-file 'C:\Users\zs\Desktop\CSR-DCF\mex\mex_extractforeground.mexw64': 找不到指定模块
- 计算机毕业设计django基于python学校在线打印系统
- 闪蝶-COBOL代码分析工具
- 巴比特 | 元宇宙每日必读:中国互联网企业涌入元宇宙的群像:“只有各种求生欲,没有前瞻创新的雄心”...
- Linux Shell远程执行命令(ssh)