- 博客(17)
- 收藏
- 关注
原创 Android 轻量级动态类替换工具
在日常开发中,工程中存在多个公共模块或者JAR包,很多是公司内部基建产物或者其他第三方SDK。在定制化开发过程中,无法灵活修改这些公共库。Needle 是基于字节码修改技术实现的Android java 类替换工具。1. 寻找合适插桩位置困难,严重依赖对象的内部逻辑,版本升级后点位失效可能性高。Needle使用注解指定要替换的类,且注入类必须是被替换类的子类。3. 方法、参数或整个类逻辑替换等复杂场景实现困难。2. 运行时侵入代码较多,增加运行时耗时。,即可实现简单,快速的公共逻辑替换能力。
2024-07-09 17:30:58 182
转载 利用AsyncTask高效异步加载图片,适用于ListView 和GridView
Processing Bitmaps Off the UI Thread上一课下一课 This lesson teaches you toUse an AsyncTaskHandle ConcurrencyYou should also readDesigning for ResponsivenessMultithreading fo
2016-06-21 14:53:33 524
原创 SSO(Singl Sign On) HTTPClient 和webView共享Cookie
需求:APP登录后,打开webview,能够正确识别已经登录状态Cookie 在Android 上每个应用都会独立保存。应用内部能够共享。CookieManagerHTTPClient 负责登录的相关操作,服务器会在登录的Response Header中set-cookie,这些值需要手动sync才能被webView获得。需要特别注意的是,Cookie st
2015-07-22 17:39:01 780
转载 Android 进程与线程
进程在Android中,整体的(将影响其中各个组件...)和底下各个组件,都可以设置属性,相同属性的组件将扔到同一个进程中运行。最常见的使用场景,是通过配置的process属性,将不同的相关应用,塞进一个进程,使得它们可以同生共死。还有就是将经常和某个Service组件进行通信的组件,放入同一个进程,因为与Service通信是个密集操作,走的是RPC,开销不小,通过配置,可以变成进程内的直
2015-05-23 16:23:55 423
转载 install JDK 7 on Ubuntu10.04
There is a similar answer on how to install JRE 7.Install the JDKDownload he 32bit or 64bit Linux "compressed binary file" - it has a ".tar.gz" file extension i.e. "[java-version]-i586.tar
2013-10-15 16:21:41 731
原创 debug CyanogenMod recovery for HTC LEGEND
only compile recovery: $source build/envsetup.sh $lunch chose your device $make recoveryimage after build finish, find the recovery.img in SourceCode/out/targe
2013-09-22 12:35:56 1197
原创 android.mk技巧
一 快速获得所有源文件列表在编译c/c++文件是,需要列出所有的源文件。但如何方便的获得某个目录下所有的c/c++文件呢?使用通配符来解决此问题MY_FILES := $(wildcard $(LOCAL_PATH)/foo/*.c) LOCAL_SRC_FILES := $(MY_FILES:$(LOCAL_PATH)/%=%)
2011-12-19 16:48:20 594
原创 OnTouch及OnlangClick的冲突解决
之前在做项目的时候,遇到了既要监听touch事件,又要监听langClick事件,但经过查看源代码,ontouch事件是触摸类事件的“鼻祖”,onclick和onlangclick都是在view中的ontouchEvent方法中触发的,而且我们的view复写ontouch方法或者设置了OnTouchListener后,我们的view就无法触发onclick或者onlangclick的事件。
2011-12-15 17:50:18 1016 2
原创 configuration android USB device for Ubuntu
1 以root用户登录,或执行 sudo -i2 sudo gedit /etc/udev/rules.d/50-android.rules 该文件为新建文件3 SUBSYSTEM=="usb", ATTR{idVendor}=="18D1",
2011-09-01 11:34:47 1178
转载 Android 开机启动研究
l Init进程Android系统在启动时首先会启动Linux系统,引导加载Linux Kernel并启动init进程。Init进程是一个由内核启动的用户级进程,是Android系统的第一个进程。该进程的相关代码在platform\system\core\init\ini
2011-08-16 17:45:24 599
转载 android中的样式和主题
一、样式android中的样式和CSS样式作用相似,都是用于为界面元素定义显示风格,它是一个包含一个或者多个view控件属性的集合。如:需要定义字体的颜色和大小。在CSS中是这样定义的: .maxhis{COLOR:#0000CC;font-siz
2011-08-05 18:14:03 496
转载 Android锁屏与解屏相关代码分析
我觉得对于普通人来说,最常见的是Android解屏的界面,然后应该是Home界面。今天就来分析一下解屏界面的相关代码(以索爱的解锁界面为例)。 首先看解屏的界面,我把解屏的界面分为两个部分,最上部是status Bar,下面是LockScreenSemc,在Lo
2011-08-05 10:48:08 622
原创 native库崩溃后,利用logcat输出的调用堆栈信息定位问题的方法
1: 找到addr2line工具所在目录,如:android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/arm-eabi-addr2line2: 找到要定位地址的lib库文件3: 在源代码根目录执行命令
2011-07-14 17:22:57 1438
原创 Build Android
Building the SystemThe basic sequence of build commands is as follows:InitializeInitialize the environment with the envsetup.sh script
2011-07-13 10:38:08 513
原创 fastboot使用
在 cmd 中输入 fastboot 可以返回使用文档,具体如下 1. usage: fastboot [ ] 2. 3. commands: 4. update reflash device from up
2011-07-11 22:03:04 1119
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人