- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 视频编解码初步
字节 半字 字 双字 四字x86: b w d q dqmips: b h w d q源码目录:run-openh264/: 运行程序的脚本文件openh264/: 我修改的openh264-nomodify/: 未修改,直接用git clone http://cgit.loongnix.org/cgit/openh264 下载的。25的服务器上:scp -
2016-05-24 09:16:33
927
转载 The H.264 Advanced Video Compression Standard(second edtion) Chapter 1 学习摘要
Chapter 1 Introduction1.1 a change of sceneVideo compression or video encoding is the process of reducing the amount of data requiredto represent a digital video signal, prior to transmission
2016-04-14 09:39:50
1194
原创 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
2548
原创 运行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
1083
原创 运行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
1716
原创 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
3200
原创 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
815
原创 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
5079
原创 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
3555
原创 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
1430
原创 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
3184
原创 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
670
原创 JVM垃圾收集 & Dalvik垃圾收集资料
JVM内存管理及垃圾回收: http://www.cnblogs.com/likehua/p/4023667.htmlG1垃圾收集器: http://blog.youkuaiyun.com/woshiqjs/article/details/7290513深入学习JVM堆与JVM栈: http://developer.51cto.com/art/201009/227812_all.htmMinor
2016-01-19 20:48:00
477
原创 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
487
原创 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
2176
原创 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
500
原创 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
872
原创 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
2195
原创 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
669
原创 下载编译 Qt 5 for Android 并新建工程
步骤详见: http://wiki.qt.io/Android步骤1-4略5.安装jdk1.6.0.45: http://blog.youkuaiyun.com/zjclugger/article/details/117620856.配置QT for Android,忽略不支持的模块:(配置的参数位于QT源码根目录qt-everywhere-opensource-src-5.5.0/qtbas
2016-01-18 23:44:20
2070
原创 Dalvik与ART相关源代码分析
dex2oat可执行文件被调用的过程分析: http://m.blog.youkuaiyun.com/blog/cosmoslhf/40380559dex2oat将dex文件转换为oat文件的执行路径概览: http://m.blog.youkuaiyun.com/blog/zylc369/39452053Art下DexClassLoader将dex文件转化为oat文件格式的过程: http://m.bl
2016-01-18 23:40:24
554
原创 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
1537
原创 服务器端启动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
1272
原创 下载、编译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
985
国际象棋中马的遍历问题的源代码
2012-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人