- 博客(284)
- 资源 (4)
- 收藏
- 关注

原创 Android 开发记录
1,java.net.SocketException:socket failed:EACCES (Permission denied)出现这个错误,一般是AndroidMainifest.xml文件里没有添加访问网络的授权需添加2,Android Socket编程报错android.os.NetworkOnMainThreadException
2015-10-15 21:38:28
482
原创 dump内存记录
File选项中找到script command//单行也需要用{}括起来//IDCstatic main(){ auto i,fp; fp = fopen("d:\\dump","wb"); auto start = 0x47e060; auto size = 90000; for(i=start;i<start+size;i++) ...
2019-10-21 17:42:52
1071
原创 Android app开机启动
1, 设置权限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />2,设置静态广播 <receiver android:name=".ui.MyReceiver" android:enabled="true" ...
2019-05-18 17:34:59
371
原创 Window 搭建frida环境
这里写自定义目录标题Window 搭建frida环境1, 安装python 并设置环境变量cmd中输入python查看是否安装成功2, 安装frida环境pip install fridapip install frida-tools3, Android端下载对应的frida-serverhttps://github.com/frida/frida/releases根据手机架构...
2019-04-28 14:30:07
905
原创 Android 记录gitignore文件内容
# apply from stackoverflow by sam## http://stackoverflow.com/questions/16736856/what-should-be-in-my-gitignore-for-an-android-studio-project#*.iml.gradle/local.properties/.idea/workspace.xml...
2019-04-20 10:48:36
232
原创 Android 记录调试
IDA 远程调试 Android soIDA 远程调试 Android soAndroid Studio NDK编程-环境搭建及Hello!
2018-12-17 17:29:18
230
转载 HTTP协议记录
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系...
2018-11-13 11:39:23
412
原创 Android 系统启动时间分析
执行命令adb logcat -d -b events | grep bootI/boot_progress_start( 71): 2000I/boot_progress_preload_start( 71): 2133I/boot_progress_preload_end( 71): 2730I/boot_progress_system_run( 263): 277...
2018-10-19 17:50:19
1591
转载 Android Binder机制一
Binder机制的引入原因 Binder机制是为C/S架构设计的IPC机制,基于性能和安全性的考虑,Android系统在传统IPC机制之外,又引入了Binder机制。性能 传统的Socket/管道/消息队列等IPC机制有一个共同点,数据传输过程中,先从发送方的缓冲区copy到内核缓冲区,再从内核缓冲区copy到接收方缓冲区,数据至少经过两次copy。Binder机制的优...
2018-09-27 14:35:47
285
转载 Android input子系统整体框架
2.模块结构下图是input输入子系统框架,输入子系统linux层由输入子系统核心层( Core层 ),驱动层和事件处理层(Event Handler)三部份组成。Android层操作input子系统由Native层、Java框架层、应用程序三部分组成。 图1: input输入子系统层次图 一个输入事件,如手指触摸,键盘按键按下,横竖屏转动等等通过 input d...
2018-09-25 20:29:56
6046
转载 Linux-kernel-bitmap
bitmap节约内存,用一个位去表示两种状态.对于数据量比较多的开关量非常适用。linux提供了相关的接口进行初始化和操作bitmap.include/linux/types.h#define DECLARE_BITMAP(name,bits) \ unsigned long name[BITS_TO_LONGS(bits)]bitmap_set函数原型:void bitmap_set(...
2018-06-06 16:48:24
997
1
原创 Android 按键事件及adb命令模拟
adb shell input keyevent xxxxxx代表keycodekeycode对照表0 --> "KEYCODE_UNKNOWN"1 --> "KEYCODE_MENU"2 --> "KEYCODE_SOFT_RIGHT"3 --> "KEYCODE_HOME"4 --> "KEYCODE_BACK"5 -->
2018-05-08 14:13:41
4485
转载 Android 禁止启动锁屏
Android 6.0.11.Settings 删掉屏幕待机选项packages/apps/Settings/res/xml/display_settings.xml <!-- Hide screen sleep <ListPreference android:key="screen_timeout" android...
2018-05-08 13:51:38
3193
原创 Android System_server
AMS的启动AMS指的是ActivityManagerService服务,这个是android提供的系统管理服务,所有的进程、组件相关的管理都在这个服务中实现,先来看一下它是怎么启动的:1.调用构造方法,初始化AMS2.调用setSystemServiceManager()和setInstaller()配置系统服务管理器和包安装器3.调用initPowerManagement()初始化power相...
2018-05-07 20:43:11
768
转载 Android dex2oat
Android从4.4开始正式引入了ART虚拟机,并从5.0开始取代了Dalvik成为默认的虚拟机。ART与Dalvik最大的不同就是,在程序安装的时候就将其编译成本地指令集(即所谓的Ahead Of Time,AOT),而不像Dalvik是在运行的时候对经常掉用的函数动态编译的(即所谓的Just In Time,JIT)。但是最终编译的动作,还是通过程序dex2oat来执行的。这个程序本身可带非...
2018-03-29 18:20:53
2567
原创 Android 编译问题
warning: shared library text segment is not shareableerror: treating warnings as errors编译器的选项要加上 --no-fatal-warnings 可无论怎么加, 加到那儿都变成了g++的选项,可g++不认得它。郁闷 了一会 看了看链接器的链接选项中看到了例如以下两个选项 --warn-shared-text...
2018-03-06 13:52:02
1214
原创 Virtualbox Ubuntu添加虚拟硬盘
VirtualBox中装好Ubuntu后,发现硬盘空间不够使用 了。以下是搜集整理的解决办法:1. 添加新硬盘设置 -> Storage -> SATA控制器->右击,选择“添加虚拟硬盘”然后,根据需求创建合适的硬盘2. 重启虚拟机查看现有系统的磁盘空间sudo fdisk -l可看到新加的虚拟硬盘,一般名为:Disk /dev/sdb3. 给新加的硬盘分区fdisk /dev/...
2018-02-09 15:27:46
1569
原创 Android 源码模块下载记录
-- 源码定位 : 为了执行该操作, 你需要在 CyanogenMod 的 GitHub 地址 (https://github.com/CyanogenMod) 中找到你的设备源码位置, 并且在你本地的 LocalManifest 中列举出所有的 定义在cm.dependencies 中的代码仓库;-- 了解更多命令细节 : 如果你想要知道更多关于source build/envset
2018-01-30 20:26:58
371
转载 Android netcfg
在终端下输入adb shell,进入android的终端中,输入netcfg 会得到以下结果:root@ardbeg:/ # netcfg ip6tnl0 DOWN 0.0.0.0/0 0x00000080 00:00:00:00:00:00 wlan0 DOWN
2018-01-05 14:52:04
3354
原创 Android Battery相关资料(附带Binder机制)
1, healthd等底层解析android 4.4 电池电量管理底层分析(C\C++层)2,
2017-12-28 17:07:28
388
原创 Linux C 生成随机数
生成随机数#include<time.h> #include<stdio.h> #include<stdlib.h> main() { int i,j; srand((int)time(0)); for(i=0;i<10;i++) { ...
2017-12-28 14:11:37
715
原创 机器码与汇编代码对应方法
1, 拿到机器码,写到c语言文件中int main(){ __asm__ __volatile__ (".byte 0x66, 0xf, 0x3a, 0xf, 0xd1, 0x4, 0x8d, 0x7f, 0x20, 0x66, 0xf, 0x7f, 0x54, 0x3a, 0xe0, 0x66");}2, gcc -m32 a.c 生成a.out3,objdump -d a
2017-12-20 14:34:23
6570
1
原创 Android 启动优化记录
1, init.rc删除不必要的服务2, pms第三方应用的scan3, 缩短等待服务的时间(1s -> 200ms)
2017-12-11 14:08:30
394
原创 Android mount 根目录
1,sda3(也可能是其他)2,mkdir data/sda3,busybox mount /dev/block/sda3 /data/sda4,cd /data/sda5,pull 出来ramdisk6,ramdisk是个gzip文件, mv ramdisk ramdisk.tz (file ramdisk)7,gunzip ramdisk.tz (file ramdis
2017-12-06 14:39:01
1092
转载 Android系统启动流程源码分析
Android系统启动流程源码分析首先我们知道,Android是基于Linux的,当Linux内核加载完成时就会自动启动一个init的进程。又因为我们每当我们启动一个App时,就会生成一个新的dalvik实例,并处于一个新的进程(当然一个App也可能是多进程的)。当我们打开第一个App的时候,就会通过init进程fork出一个zygote进程。之后打开新的App的时候都会fork之前的
2017-11-29 18:45:31
922
原创 Android 5.1设置默认输入法
1,frameworks/base/core/res/res/values中的config.xml com.android.inputmethod.latin修改为: com.xxx.xxx注:com.xxx.xxx为新设置的输入法包名2,相应的输入法放到aosp源码中3,Settings中删除拼写检查packages/apps/Settin
2017-11-15 15:28:32
2139
原创 Android bootchart(5.1)
1.Bootchart介绍Bootchart是对GNU / Linux的启动过程的性能分析和可视化工具。在开机过程中会收集资源利用和处理信息,最后这些信息会呈现在一个PNG,SVG或EPS编码图上(官网英文介绍地址:http://www.bootchart.org/).2.Bootchar调试Bootchart代码已在Android的源代码中,需要我们修改对应的配置来启用b
2017-11-14 10:33:26
633
原创 Android启动优化bootchat
bootchart是一个对linux启动流程进行分析得开源软件工具。android中有集成bootchart源码,路径为system/core/init/bootchart.c。 具体使用流程如下: 1.编译android中的bootchart.。 在android源码system/core/init/目录执行
2017-11-07 10:44:04
1007
原创 Android 图片加载框架分析对比
1) Picasso2) Glide3) FrescoPicasso :和Square的网络库一起能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现。 Glide:模仿了Picasso的API,而且在他的基础上加了很多的扩展(比如gif等支持),Glide默认的Bitmap格式是RGB_565,比 Pi
2017-11-04 14:13:58
680
转载 Android5.0双卡维护
Android5.0开始支持双卡了。对于双卡的卡信息的管理,也有了实现,尽管还不是完全彻底完整,如卡的slot id, display name,iccid,color等,其设计思路竟然跟之前接触到的一个平台是一样的,都是同不同颜色来标识不同的卡,让用户一目了然,只是5.0的实现目前还局限在FW框架里,应用层的实现还没有,相信,等到5.1或者再之后的版本中,我们就可以在setting里看到对卡表示
2017-10-30 10:58:14
548
原创 Android studio生成aar以及aar在studio和eclipse中使用
生成aar包步骤:编译整个工程后就会自动生成aar包,包的路径在新建的Module ==》 build ===》outputs ==>aar目录下1.androidstudio工程引用aar包①.将aar包复制到lib目录下 ②.配置build.gradle文件:加入 repositories { flatDir { dirs 'lib
2017-09-07 17:42:16
576
原创 React Native错误记录
1, 没有找到assets下文件1.首先手动在main下建立一个assets文件夹2.然后cmd 进入项目的根目录下执行 React-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/asse
2017-07-07 16:00:33
303
原创 Android Paint API
/** * Paint类介绍 * * Paint即画笔,在绘图过程中起到了极其重要的作用,画笔主要保存了颜色, * 样式等绘制信息,指定了如何绘制文本和图形,画笔对象有很多设置方法, * 大体上可以分为两类,一类与图形绘制相关,一类与文本绘制相关。 * * 1.图形绘制
2017-06-13 10:28:47
410
原创 Android 系统自带样式
(@android:style/)在AndroidManifest.xml文件的activity中配置1、Android:theme="@android:style/Theme"默认状态,即如果theme这里不填任何属性的时候,默认为Theme2、android:theme="@android:style/Theme.NoDisplay"任何都不显示。比较适用于只是运行了a
2017-06-06 14:24:27
496
原创 Android Studio JNI开发
前言什么是NDK?NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。NDK集成了交叉编译器(交叉编译器需要UNIX或LINUX系统环境),并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要
2017-04-20 20:53:39
357
原创 Android MVC模式
1,MVCmodel view controller2,Androidandroid中分别对应model view activity3,解释model 获取数据view xml布局控件controller(activity) 接收控件操作,拿到数据后设置控件**个人理解,不喜勿喷**
2017-03-25 16:41:50
349
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人