<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jymfist的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jymfist</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jymfist]]></copyright><item><title><![CDATA[Android.mk定义C/C++字符串宏]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/52840239</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/52840239</guid><author>jymfist</author><pubDate>Mon, 17 Oct 2016 18:04:06 +0800</pubDate><description><![CDATA[在jni的C++ code里面使用了一个资源文件路径，比如/system/test,并且在Android.mk里面会将相应的资源文件拷贝到/system/test。 如果在C++ code和Android.mk分别定义，更改的时候就会感觉痛苦。所以，需要在Android.mk里定义。


LOCAL_FINAL_PATH := /system/test 

#这样在C++ code里，可]]></description><category></category></item><item><title><![CDATA[Android Studio编译google PinyinIME]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/52497970</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/52497970</guid><author>jymfist</author><pubDate>Sat, 10 Sep 2016 23:53:56 +0800</pubDate><description><![CDATA[1. 获取PinyinIME的code。
2. AS中导入一个Elipse的项目：PinyinIME
3.  编译，发现了第一只拦路虎，PinyinIME需要访问SDK的hide及internal的API，所以此时，需要按照
http://blog.youkuaiyun.com/linghu_java/article/details/8283042
4. 继续编译，发现第二只拦路虎，无法访问com.a]]></description><category></category></item><item><title><![CDATA[USB集腋成裘：从Linux PC角度看sys.usb.config为adb时的Android设备]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/50619416</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/50619416</guid><author>jymfist</author><pubDate>Mon, 01 Feb 2016 16:42:53 +0800</pubDate><description><![CDATA[以下为USBMON抓到的USB BUS的枚举过程，简单的分析做下记录

Get Device Descriptor:
ffff8803ce0bdd80 1433311560 S Ci:3:028:0 s 80 06 0100 0000 0008 8 
ffff8803ce0bdd80 1433311713 C Ci:3:028:0 0 8 = 12010002 00000040
ffff]]></description><category></category></item><item><title><![CDATA[USB集腋成裘：从Linux PC角度看sys.usb.config为none时的Android设备]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/50608786</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/50608786</guid><author>jymfist</author><pubDate>Fri, 29 Jan 2016 18:28:40 +0800</pubDate><description><![CDATA[当sys.usb.config为none时，android设备的USB接口就完全被锁死，无法使用，当然充电功能还是在的。

使用lsusb查看，会发现没有android设备的踪影。使用usbmon捉取USB BUS的信息，得到
ffff88012cd41e40 284839608 S Ci:2:030:0 s 80 06 0100 0000 0008 8 
ffff88012cd41e40]]></description><category></category></item><item><title><![CDATA[Linux kernel module symbols relocation]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/45919957</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/45919957</guid><author>jymfist</author><pubDate>Fri, 22 May 2015 17:55:42 +0800</pubDate><description><![CDATA[尝试回答两个问题:
1. Module如何解决kernel的函数调用问题
2. Module如何解决使用到其它module的函数调用问题


*.ko是个ELF文件,本质上与跑在user space的APP一样. 从Module编译结果看起:

执行指令: readelf -a usb_wwan.ko,摘录部分与本主题有关系:00002104  0001801c R_ARM_CALL]]></description><category></category></item><item><title><![CDATA[跟踪EXPORT_SYMBOL]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/45894859</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/45894859</guid><author>jymfist</author><pubDate>Thu, 21 May 2015 17:37:55 +0800</pubDate><description><![CDATA[1. EXPORT_SYMBOL的定义
/* For every exported symbol, place a struct in the __ksymtab section */
#define __EXPORT_SYMBOL(sym, sec)				\
	extern typeof(sym) sym;					\
	__CRC_SYMBOL(sym, sec)					\
	stati]]></description><category></category></item><item><title><![CDATA[如何永久性开启adb 的root权限]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/38926011</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/38926011</guid><author>jymfist</author><pubDate>Fri, 29 Aug 2014 15:24:38 +0800</pubDate><description><![CDATA[[Description]
如何永久性开启adb 的root权限
 
[Keyword]
user debug root adb adbd
 
[Solution]
adb 的root 权限是在system/core/adb/adb.c 中控制。主要根据ro.secure 以及 ro.debuggable 等system property 来控制。默认即档ro.secure 为0 时]]></description><category></category></item><item><title><![CDATA[MTK6592 GPIO模拟I2C]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/38366229</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/38366229</guid><author>jymfist</author><pubDate>Mon, 04 Aug 2014 10:34:46 +0800</pubDate><description><![CDATA[虽然Linux内核支持该功能，但是MTK并不支持I2C-GPIO功能]]></description><category></category></item><item><title><![CDATA[Linux built-in driver load order]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/37599465</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/37599465</guid><author>jymfist</author><pubDate>Wed, 09 Jul 2014 15:28:17 +0800</pubDate><description><![CDATA[Built-in drivers wont be loaded, hence built-in. Their initialization functions are called and the drivers are activated when kernel sets up itself. These init functions are called in
init/main.c::do]]></description><category></category></item><item><title><![CDATA[[Android 开发]移植libcurl到Android4.4]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/25877431</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/25877431</guid><author>jymfist</author><pubDate>Thu, 15 May 2014 14:36:53 +0800</pubDate><description><![CDATA[感谢伟大的libcurl及互联网，顺利的完成了]]></description><category></category></item><item><title><![CDATA[[Android JNI开发]JAVA编译器的坑——GetStaticMethodID 找不到的另外一种可能]]></title><link>https://blog.youkuaiyun.com/jymfist/article/details/25601955</link><guid>https://blog.youkuaiyun.com/jymfist/article/details/25601955</guid><author>jymfist</author><pubDate>Mon, 12 May 2014 11:23:04 +0800</pubDate><description><![CDATA[近日在ANDROID上实现一个NDK的功能]]></description><category></category></item></channel></rss>