一直想尝试着自己编译 CM,毕竟如果想修改系统 Apk,就有可能需要编译整个系统。于是在开了一台 Ubuntu x86_64 虚拟机(这是一个大坑,等会儿说)作为编译机器,参考的主要是 CM 官方 wiki:http://wiki.cyanogenmod.org/w/Build_for_mako?setlang=en。根据 wiki 指示准备好基础环境后,开始 repo sync,总共下载了 6GB 多的工程代码。总的来说,一直到 wiki 的 “Start the build” 一节,都没有问题,照着做就好了。不过当执行 brunch mako 之后,坑就一个个冒出来了。
fHash 1.8 Released
增加 Shell Extension 实现的高级右键菜单支持
修正其他 bug
Use Shell Extension to implement context menu shortcut
Fix other bugs
Download:
https://code.google.com/p/fhash/downloads/list
http://sourceforge.net/projects/fhash/files/1.8/
用 WinDbg 调试符号不全的程序
其实也就是记录一下用 WinDbg 调试 fHash 的一次过程,这个 bug 是由于没好好看文档造成的,我需要让 fHash 知道当前运行的操作系统是 32 位还是 64 位的,之后好去选择正确的 shell extension 文件。查文档看到了这个函数 IsWow64Process ,之后错误的以为 kernel32 中有这个函数就是 64 位操作系统,结果就已这个逻辑写下了错误的 64 位系统判断函数,和错误文件读取逻辑。
tstring tstrExeDirPath(pszExeFullPath); tstring::size_type idx = tstrExeDirPath.rfind(_T("\\")); tstrExeDirPath = tstrExeDirPath.substr(0, idx); tstring tstrShlExtDll = tstrExeDirPath; tstrShlExtDll.append(_T("\\fHashShlExt")); if(IsWindows64()) tstrShlExtDll.append(_T("64")); tstrShlExtDll.append(_T(".dll")); WIN32_FIND_DATA ffData; HANDLE hFind = FindFirstFile(tstrShlExtDll.c_str(), &ffData); bool bRet = (hFind != INVALID_HANDLE_VALUE); if(bRet) { #if defined(UNICODE) || defined(_UNICODE) wcscpy_s(pszShlDllPath, MAX_PATH, tstrShlExtDll.c_str()); #else strcpy_s(pszShlDllPath, MAX_PATH, tstrShlExtDll.c_str()); #endif FindClose(hFind); } return bRet;
结果很自然,在 32 位的 Windows XP 上没有执行正确。但是测试环境没有 VisualStudio,而且用的是 Release 编译,也没有带着符号文件,这怎么调试呢。Windows XP 上装有 WinDbg,那么就用它来调试。
JSToolNpp 1.15 Released
What’s New in JSToolNpp 1.15:
- Change name to JSTool.
- Added simple search in Json Viewer.
- Fixed Json Viewer and editor linkin bug.
- Fixed Json Viewer utf-8 bug.
- Other tweaks.
Download links:
http://jstoolnpp.googlecode.com/files/JSMinNPP.1.15.uni.zip
http://sourceforge.net/projects/jsminnpp/files/latest/download
Apple WWDC 2013 Keynote 全场视频下载
刚刚 Apple 放出了下载地址,各位猛击即可:
http://itstreaming.apple.com/podcasts/apple_keynotes/wwdc2013_ipod.m4v
JSMinNpp 1.13 Released
What’s New in JSMinNpp 1.13:
- Performance improved (JSFormat will be about 2X faster).
- Linked editor with Json Viewer: Clicking a data node in Viewer, editor will navigate to corresponding line.
- Added a logo.
Download links:
https://jstoolnpp.googlecode.com/files/JSMinNPP.1.13.uni.zip
http://sourceforge.net/projects/jsminnpp/files/Uni/JSMinNPP.1.13.uni.zip/download
Java, JNI and Notepad++ Plugin
最近把之前写的 JsFormatter 用 Java 移植了一下,于是想着能不能用 JNI 作为包装,让 Notepad++ 的插件调用 Java 版的算法,于是有了下面的两个项目:
https://github.com/sunjw/JsToolJava
https://github.com/sunjw/JsFormatterJavaNppPlugin
先说一下怎么跑这个插件,将 JsFormatterJavaNppPlugin 编译得到的 JSMinJava.dll 放到 npp 的插件目录,之后将 JsToolJava.jar 和 commons-lang-2.6.jar 也放入插件目录,最后将 %JAVA_HOME%\bin\client 添加到 PATH 环境变量。这样应该就能运行 JSMinJava 插件,其中 JSFormat 功能就是用 JNI 调用 Java 执行的。这个在 npp 6.3, JRE 1.6 上测试成功,其他配置不一定能正常工作。
fHash 1.5.13 Released
Copyright 字段增加 2012
更大的读取缓冲
修正进度栏问题
修正 0 字节文件问题
Add 2012 to copyright string.
Bigger buffer.
Fix progress bar.
Fix crash on 0 size file.
[转] Mount Nexus 4 on Fedora 17
原贴地址:
http://forums.fedoraforum.org/showthread.php?t=286547
Shiny new toy! I wrote a quick howto blog post for getting something working until a better solution comes along.
Link to blog edited out as per sub-forum rules — DBelton
======================
JSMinNpp 1.12 Released
What’s New:
1.12
Fix a bug in JSON Viewer.
Update JsonPP.
Fix “unexpect space” of JSLint.
Add an option to keep indent in empty line.
Fix “finally” bug.
Change project site to http://sunjw.us/jsminnpp/
Download links:
https://jstoolnpp.googlecode.com/files/JSMinNPP.1.12.uni.zip
http://sourceforge.net/projects/jsminnpp/files/Uni/JSMinNPP.1.12.uni.zip/download