<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xugoming的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xugoming</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xugoming]]></copyright><item><title><![CDATA[android 交叉编译 flac]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/8564570</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/8564570</guid><author>xugoming</author><pubDate>Sat, 02 Feb 2013 05:58:12 +0800</pubDate><description><![CDATA[mac 

使用如下脚本
#!/bin/bash

PREBUILT=~/Work/tools/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86
SYSROOT=~/Work/tools/android-ndk-r8b/platforms/android-14/arch-arm
STLDI]]></description><category></category></item><item><title><![CDATA[修改adb以支持forward远程连接]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/8168827</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/8168827</guid><author>xugoming</author><pubDate>Sat, 10 Nov 2012 12:12:17 +0800</pubDate><description><![CDATA[xgm@sw-server:~/qrd/ics/qjb$ git diff system/core/adb/
diff --git a/system/core/adb/adb.c b/system/core/adb/adb.c
index d697b8a..ce1b3a5 100644
--- a/system/core/adb/adb.c
+++ b/system/core/adb/ad]]></description><category></category></item><item><title><![CDATA[关于AlarmManager和WakeLock]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7979177</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7979177</guid><author>xugoming</author><pubDate>Fri, 14 Sep 2012 15:02:09 +0800</pubDate><description><![CDATA[1.AlarmManager要想在休眠时也起作用，需要使用RTC_WAKEUP类型
2.休眠时，AlarmManager设置的PendingIntent要直接start一个Activity，往往无效，
此时必需先sendBroadcast，在broadcast里面获取一个timeout的wakeLock,再startActivity,才能成功
3.aquireWakeLock要想主动亮屏，需]]></description><category></category></item><item><title><![CDATA[gdb调试android]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7844600</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7844600</guid><author>xugoming</author><pubDate>Wed, 08 Aug 2012 18:15:58 +0800</pubDate><description><![CDATA[步骤：
1.将prebuilt里的gdbserver 放到手机system/bin/下
2.gdbserver --attach :8000 684 
3.adb forward tcp:8000 tcp:8000
将手机上的8000映射到windows上的8000，同样使用修改版的adb
4.在linux编译服务器上，
arm-linux-androideabi-gdb out/ta]]></description><category></category></item><item><title><![CDATA[jdb 调试android]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7843861</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7843861</guid><author>xugoming</author><pubDate>Wed, 08 Aug 2012 16:01:58 +0800</pubDate><description><![CDATA[1. windows

adb forward tcp:9000 jdwp:PidToDebug
必须使用修改版的adb,才会监听本地所有端口，而不只是127.0.0.1的loopback,否则jdb attach不到adb forward的端口

2.在linux编译服务器,编译根目录
export ANDROID_SRC_PATH=`find -path "*/java" ! -p]]></description><category></category></item><item><title><![CDATA[在Linux下编译Windows版本的adb和fastboot]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7843304</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7843304</guid><author>xugoming</author><pubDate>Wed, 08 Aug 2012 14:21:07 +0800</pubDate><description><![CDATA[理论上，只要下一个windows版本的SDK，里面就自带了fastboot和adb工具。
但我最近确实遇到了一个需要在linux下编译出windows版本的adb的问题，废话不多说，步骤如下：
1. 执行：apt-get install mingw32
            安装了linux-windows交叉编译环境mingwin
2. 执行：. build/envsetup.sh]]></description><category></category></item><item><title><![CDATA[android 点击测试脚本]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7842052</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7842052</guid><author>xugoming</author><pubDate>Wed, 08 Aug 2012 10:32:38 +0800</pubDate><description><![CDATA[touch.bat:
set /a x=%1
set /a y=%2
adb shell sendevent /dev/input/event0 3 48 10
adb shell sendevent /dev/input/event0 3 50 10
adb shell sendevent /dev/input/event0 3 53 %x%
adb shell sendevent]]></description><category></category></item><item><title><![CDATA[shell 用例]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7666209</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7666209</guid><author>xugoming</author><pubDate>Fri, 15 Jun 2012 14:01:53 +0800</pubDate><description><![CDATA[１.对目录文件进行循环
cd samsung_ringtones
xgm@sw-server:~/qrd/gingerbread/frameworks/base/data/sounds/samsung_ringtones$ for i in *;do echo "  "\$\(LOCAL_PATH\)/samsung_ringtones/$i:system/media/audio/ringto]]></description><category></category></item><item><title><![CDATA[将android联系人和短信数据库换成sqlcipher记录]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7468954</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7468954</guid><author>xugoming</author><pubDate>Tue, 17 Apr 2012 12:01:16 +0800</pubDate><description><![CDATA[下载sqlcipher源码，设置sdk,ndk路径(linux环境)
在sqlichper源码目录下，
make init  

make 

生成so ,jar,还有icudt461.zip
如果无需修改sqlcipher内部的代码，则直接用官方提供的二进制包即可，我这里需要修改
放置在libs目录中如下

lua@lua-desktop:~/xgm$ tree ginger]]></description><category></category></item><item><title><![CDATA[Writing an Android Sync Provider: Part 2]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7457059</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7457059</guid><author>xugoming</author><pubDate>Fri, 13 Apr 2012 11:15:02 +0800</pubDate><description><![CDATA[http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-2/



One of the great new user-facing features of Android 2.0 is the is the new Facebook app, which brings your Facebook contac]]></description><category></category></item><item><title><![CDATA[Writing an Android Sync Provider: Part 1]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7457047</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7457047</guid><author>xugoming</author><pubDate>Fri, 13 Apr 2012 11:13:47 +0800</pubDate><description><![CDATA[http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/



One of the highlights of the Android 2.0 SDK is that you can write custom sync providers to integrate with the system cont]]></description><category></category></item><item><title><![CDATA[关于 contact aggregation & lookup uri]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7455303</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7455303</guid><author>xugoming</author><pubDate>Thu, 12 Apr 2012 20:06:13 +0800</pubDate><description><![CDATA[http://developer.android.com/resources/articles/contacts.html

Using the Contacts API
Starting from Android 2.0 (API Level 5), the Android platform provides animproved Contacts API for managing and]]></description><category></category></item><item><title><![CDATA[android 短信thread id生成问题]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7455172</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7455172</guid><author>xugoming</author><pubDate>Thu, 12 Apr 2012 19:38:27 +0800</pubDate><description><![CDATA[1.经验证，打入和拨出的电话，如果没有保存对应的联系人，是不会自动生成以电话号码为名的联系人记录的，即除了动了calls表外，contacts,raw_contacts,phone_lookup,等其它表都不会发生修改


2.短信thread id以是对收件人地址一一对应的，这个地址指的是电话号码，与联系人中的信息无关，其对应关系在canonical_address表里，
代码注释里说还]]></description><category></category></item><item><title><![CDATA[Android.mk 移植示例--移植usbip userspace tools]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7446758</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7446758</guid><author>xugoming</author><pubDate>Tue, 10 Apr 2012 19:15:02 +0800</pubDate><description><![CDATA[Android.mk:


MY_LOCAL_PATH := $(call my-dir)
LOCAL_PATH:= $(MY_LOCAL_PATH)


include $(LOCAL_PATH)/sysfs/Android.mk

LOCAL_PATH := $(MY_LOCAL_PATH)
include $(CLEAR_VARS)

LOCAL_CFLAGS :=]]></description><category></category></item><item><title><![CDATA[UDP/TCP穿越NAT的P2P通信方法研究(UDP/TCP打洞 Hole Punching)]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7445087</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7445087</guid><author>xugoming</author><pubDate>Tue, 10 Apr 2012 13:48:33 +0800</pubDate><description><![CDATA[转自 http://hi.baidu.com/guoxiaoming/blog/item/7525d63ffe9b18dd7d1e71b8.html
内容概述：在p2p通信领域中，由NAT(Network Address Translation，网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的]]></description><category></category></item><item><title><![CDATA[根据地址由maps推算代码位置]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7429120</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7429120</guid><author>xugoming</author><pubDate>Thu, 05 Apr 2012 17:13:53 +0800</pubDate><description><![CDATA[adb shell cat /proc/pid/maps |gawk '$2~/r-xp/{print  "0x"substr($1,1,8),"0x"substr($1,10,8), $6}'

将之保存到maps.txt文件
cat maps.txt |awk '{addr=strtonum(addr2);beg=strtonum($1);end=strtonum($2);if(addr]]></description><category></category></item><item><title><![CDATA[android jni memory debug]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7427392</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7427392</guid><author>xugoming</author><pubDate>Thu, 05 Apr 2012 10:06:14 +0800</pubDate><description><![CDATA[Aborting or crashing in dlmalloc() usually indicates that the native heap has become corrupted.  This is usually caused by native code in an application doing something bad.

Sometimes the malloc-debu]]></description><category></category></item><item><title><![CDATA[打印tombstone堆栈脚本]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7410247</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7410247</guid><author>xugoming</author><pubDate>Fri, 30 Mar 2012 10:23:43 +0800</pubDate><description><![CDATA[快速打印tombstone中堆栈对应函数和源码位置的命令：
将生成的堆栈信息，如

         #00  pc 000110d8  /system/lib/libc.so
         #01  pc 00050b44  /system/lib/libopencore_common.so
         #02  pc 0005094e  /system/lib/libope]]></description><category></category></item><item><title><![CDATA[android查看线程内核层和用户层的方法]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7409963</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7409963</guid><author>xugoming</author><pubDate>Fri, 30 Mar 2012 09:41:58 +0800</pubDate><description><![CDATA[这两天查微信屏不亮的问题，跟踪进程阻塞，从用户层，跨进程，再跟到kernel层，
采取的是加log的方式，每深入一层函数，要重新添加log，编译验证，非常痛苦累人
 
后来研究发现有更好更方便的方法，现总结如下:
 
查看内核层stack  cat /proc/tid/stack 其中的tid为线程id,可以用ps -t查看系统所有线程，每个进程的主线程id和进程id是相同的
 
如]]></description><category></category></item><item><title><![CDATA[编译andorid时使用ccache]]></title><link>https://blog.youkuaiyun.com/xugoming/article/details/7357471</link><guid>https://blog.youkuaiyun.com/xugoming/article/details/7357471</guid><author>xugoming</author><pubDate>Thu, 15 Mar 2012 16:16:36 +0800</pubDate><description><![CDATA[ccache可加速c/c++代码编译过程，主要是头文件预处理过程，
在编译android时要使用ccache
export USE_CCACHE=1
export CCACHE_DIR=/path to ccache dir/  默认是home目录下的.ccache
ccache -M 20G 配置缓存最大小，这个参数保存在CCACHE_DIR所在的目录]]></description><category></category></item></channel></rss>