Android
文章平均质量分 77
Sumin_fushengruocha
这个作者很懒,什么都没留下…
展开
-
下载、编译android4.4.4源码
下载源码、配置环境和编译的软硬件要求见Android官网。一. 下载源码(步骤详见Android官网: http://source.android.com/source/initializing.html )1.安装代码下载工具 repo2.初始化一个 repo client3.下载 android4.4.4 源代码二. 配置编译环境(步骤详见 Androi原创 2016-01-11 23:02:14 · 941 阅读 · 0 评论 -
ART中 MIR --> LIR --> 机器码 的流程
art/compiler/dex/quick/quick_compiler.cc中:QuickCompiler::Compile(...)函数内:Compiler::IsPathologicalCase(...) : 当前方法的指令条数和寄存器个数超过 UINT16_MAX / 4 时,编译器将不编译此方法,直接返回。创建编译单元: CompilationUnit cu(...),对应原创 2016-01-19 21:12:22 · 1367 阅读 · 0 评论 -
ART 的 interpret-only模式源码及调用流程 & QuickCompiler后端调用流程
在文件compiler/dex/quick/quick_compiler.cc中取消 kCompilerDebugFlags 的注释,重新在根目录下编译,替换启动盘中相应的动态库。用eclipse写一个Helloworld程序安装到android系统中,或者在 /data/dalvik-cache/ 目录下删除一个应用程序的oat文件(classes.dex文件),重启系统。根据Logcat日原创 2016-04-13 23:04:21 · 3503 阅读 · 0 评论 -
interpret-only模式改为speed模式的测试时间对比
一.interpret-only模式改为speed模式的测试时间对比修改 /system/build.prop 文件中的 dalvik.vm.dex2oat-filter=interpret-only 为 dalvik.vm.dex2oat-filter=speed , 写一个测试时间的应用程序 TestTime.apk , 对比修改前后TestTime.apk 的执行时间。//原创 2016-04-13 23:11:58 · 4997 阅读 · 0 评论 -
ART中添加 neg.s neg.d 指令及相关代码
一.android 5.0 中添加neg.s neg.d指令的代码:修改 build/core/main.mk 文件中 dalvik.vm.dex2oat-filter = interpret-only 为 speed , 重新编译.添加指令的代码:文件compiler/dex/quick/mips/mips_lir.h :enum MipsOpCode {..原创 2016-04-13 23:16:41 · 781 阅读 · 0 评论 -
dexdump oatdump objdump 反汇编及生成oat文件
一. 反汇编:1. dexdump -d Neg.apk > neg-dexdump.txt (-d后面可以是.dex、.jar、.apk和.odex)2. oatdump --oat-file=data@app@Neg.apk@classes.dex --output=neg-oatdump.txt --instruction-set=mips (--oat-file参数只能是o原创 2016-04-13 23:20:13 · 3118 阅读 · 0 评论 -
运行APP时dex2oat过程中无法在系统中创建文件夹
运行APP时在dex2oat的过程中,出现如下错误:*E dex2oat : Could not get file name restrictions for .//sdcard/1_post_parse_cfg/: No such file or directory*经追踪查找,是在文件compiler/dex/mir_graph.cc 中函数CreateDumpFile(...)内执行原创 2016-04-13 23:23:24 · 1649 阅读 · 0 评论 -
运行APP时dex2oat过程中DumpLIRInsn函数出错
运行APP时dex2oat过程中DumpLIRInsn函数出错,段错误SIGSEGV日志如下:03-17 11:36:58.403 2169 2169 I dex2oat : HXM lir->opcode:-103-17 11:36:58.403 2169 2169 I dex2oat : L0x75b3d4cc:03-17 11:36:58.404 2169 2169原创 2016-04-13 23:26:45 · 1036 阅读 · 0 评论 -
Android启动器停止运行的调试
一.开机时出现问题:很抱歉,”启动器“已停止运行,源码级调试如下:日志中Java调用栈如下:8044 03-27 15:37:40.747 3023 3039 E AndroidRuntime: FATAL EXCEPTION: setWallpaperDimension8045 03-27 15:37:40.747 3023 3039 E AndroidRuntime原创 2016-04-13 23:35:47 · 2492 阅读 · 0 评论 -
android 4.0.3 设置时间无法更新到RTC
1.跟踪执行路径:packages/apps/Settings/src/com/android/settings/DateTimeSettings.javaonTimeSet(...) --> setTime(...) --> SystemClock.setCurrentTimeMillis(when)frameworks/base/core/java/android/os/Sys原创 2016-01-19 20:17:40 · 2118 阅读 · 0 评论 -
Dalvik的JIT编译流程 & ART的dex2oat流程
一.Dalvik的JIT编译流程Dalvik JIT是一个tracing JIT(也叫trace-based JIT),其中间表示分为两种,MIR与LIR。MIR与LIR节点各自形成链表,分别被组织在BasicBlock与CompilationUnit中。编译流程是: 0、创建CompilationUnit对象(一个trace对应一个CompilationUnit)来存放一次编译中需要原创 2016-01-19 21:01:31 · 3124 阅读 · 0 评论 -
U盘启动android 5.0
制作龙芯机器上的Android硬盘1.假定拿来一块新的硬盘,建立ext2分区,用于部署Android系统及应用文件2.格式化成ext2分区3.创建/boot目录4.把支持龙芯Android系统的Linux内核复制到 /boot 目录下(目前已移植到3a70e的内核为vmliux-android-3.4.2,可以从上面提供的“成品”压缩包中找到)5.将编译后在 WORKING_D原创 2016-01-19 20:52:50 · 649 阅读 · 0 评论 -
Dalvik与ART相关源代码分析
dex2oat可执行文件被调用的过程分析: http://m.blog.csdn.net/blog/cosmoslhf/40380559dex2oat将dex文件转换为oat文件的执行路径概览: http://m.blog.csdn.net/blog/zylc369/39452053Art下DexClassLoader将dex文件转化为oat文件格式的过程: http://m.bl原创 2016-01-18 23:40:24 · 501 阅读 · 0 评论 -
下载编译 Qt 5 for Android 并新建工程
步骤详见: http://wiki.qt.io/Android步骤1-4略5.安装jdk1.6.0.45: http://blog.csdn.net/zjclugger/article/details/117620856.配置QT for Android,忽略不支持的模块:(配置的参数位于QT源码根目录qt-everywhere-opensource-src-5.5.0/qtbas原创 2016-01-18 23:44:20 · 2032 阅读 · 0 评论 -
服务器端启动AVD(Android Virtual Device)
在.bashrc中添加了如下代码:export ANDROID_PRODUCT_OUT_BIN=~/android4.4.4/out/host/linux-x86/binexport ANDROID_PRODUCT_OUT=~/android4.4.4/out/target/product/genericexport ANDROID_SWT=~/android4.4.4/out/hos原创 2016-01-11 23:13:05 · 1234 阅读 · 0 评论 -
2H开发板启动 android 4.0.3 系统
服务器端(2H开发板)先不接硬盘,通过USB转串口线连接到宿主机,按下2H开发板启动按钮,服务器端(2H开发板)进入pmon命令行界面.1.在宿主机上通过minicom登录到服务器端:(minicom设置步骤详见: http://baike.baidu.com/link?url=Pz5L原创 2016-01-19 20:10:41 · 635 阅读 · 0 评论 -
Dalvik切换到ART时内存地址对齐问题的分析(2)
Dalvik 与 ART 区别:dalvik: .java -> .class -> .dex -> .apk 或 .jar -> .dex -> .dey ( .odex )art: .java -> .class -> .dex -> .apk 或 .jar -> .dex -> .oat ( .odex )在 MIPS 的 art/runtime/stack.h 中的函数 G原创 2016-01-19 20:32:43 · 468 阅读 · 0 评论 -
Dalvik切换到ART时内存地址对齐问题的分析(1)
AVD启动时打印详细日志信息需要取消 art/runtime/runtime.cc 文件中的374至384行(gLogVerbosity...)的注释。在之前追踪的函数调用过程中,在文件 art/compiler/driver/compiler_driver.cc 中函数 void CompilerDriver::InitializeClasses(...) 内添加打印dex文件的总数及当原创 2016-01-19 20:29:25 · 837 阅读 · 0 评论 -
AVD启动后出现 "Storage space running out"
ART模式的AVD启动后出现 "Storage space running out", Internal storage 可用空间只有几百KB,导致一些系统预装的应用程序启动时出现闪退的情况,无法使用。尝试在源代码中修改 Internal storage 的大小:grep "BOARD_USERDATAIMAGE_PARTITION_SIZE" -rn |vi - ,将值改为原来的2倍原创 2016-01-19 20:38:04 · 2109 阅读 · 0 评论 -
eclipse调试与android性能优化资料
一.eclipse调试跟踪eclipse调试的方法和技巧: http://www.cnblogs.com/ycxyyzw/archive/2013/03/27/2983905.htmlEclipse调试Java的10个技巧: http://www.oschina.net/question/82993_69439如何调试跟踪Android源代码: http://android.tgbus原创 2016-01-19 20:41:56 · 443 阅读 · 0 评论 -
JVM垃圾收集 & Dalvik垃圾收集资料
JVM内存管理及垃圾回收: http://www.cnblogs.com/likehua/p/4023667.htmlG1垃圾收集器: http://blog.csdn.net/woshiqjs/article/details/7290513深入学习JVM堆与JVM栈: http://developer.51cto.com/art/201009/227812_all.htmMinor原创 2016-01-19 20:48:00 · 449 阅读 · 0 评论 -
Dalvik模式切换到ART模式时出现问题及整个函数调用过程
对切换到ART模式后的启动日志进行分析,发现如下错误:ERROR 1 : Fatal signal 10 (SIGBUS) at 0x00000000 (code=128), thread 115 (main)……backtrace:#00 pc 0005d4fc /system/lib/libart.so#01 pc 0016a03c /system/lib/libart.s原创 2016-01-18 23:29:08 · 1454 阅读 · 0 评论