android相关
niotong2014
我是一个立志成为牛逼程序员的菜鸟程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android.mk的问题
最近公司将android从4.4升级为6.0时,调试apk时,由于6.0编译的时候,有时候会生成odex文件,调试的时候odex不方便。所以网上找了下资料,只需在Android.mk中添加LOCAL_DEX_PREOPT := false就可以了,编译之后不生成odex,方便调试。同时还发现来一个十分蛋疼的问题,在4.4版本中使用LOCAL_JNI_SHARED_LIBRARIES := libJ原创 2016-09-20 23:05:39 · 495 阅读 · 0 评论 -
Android.mk编译控制
Android的编译原创 2016-09-11 22:00:33 · 1625 阅读 · 0 评论 -
Android4.4开机向导
1.前言 首次刷机之后,第一次启动系统会运行一个开机向导,该向导会设置系统语言 ,wifi,日期和时间等,由于现在需要去掉该向导,所得找到是那个apk干的这件事。 2.搜索apk 请先阅读此文章 我发现Provision.apk并没有编译,所以从启动向导来分析,该apk应该是在priv-app中,所以我从priv-app中找,在该文件夹中找到SetupWizard.apk,从apk的名字大原创 2017-11-02 13:40:05 · 845 阅读 · 0 评论 -
android的智能指针
android引入只能指针是为了解决c++指针使用不当造成的内存泄漏问题。 智能指针可以理解为两个对象A和B,当A引用B的时候,B也引用A,当需要释放对象A所占用的内存的时候,由于B还在引用着A,所以不能释放对象A。同理想释放B的时候,A还引用着B,所以B也不能释放,这就是一个问题。基于这个引入了强指针和弱指针,假设AB是父子关系,A引用B就是强引用,B引用A是弱引用。对象A的生命周期不受对象原创 2017-04-14 12:12:25 · 319 阅读 · 0 评论 -
分析改变Brightness的流程
系统修改屏幕亮度只用修改SetttingProvider中的Settings.System.SCREEN_BRIGHTNESS这个值就可以了,那么系统在这个背后都做了些什么呢?通过搜索Settings.System.SCREEN_BRIGHTNESS这个关键字,可以在PowerManagerService.java这个文件中找到,分析代码,截取片段如下//这个是SettingProvider的监听器原创 2017-04-08 11:07:25 · 817 阅读 · 0 评论 -
分析WifiStateMachine如何启动wifi驱动
WifiStateMachine中通过mWifiNative.loadDriver()来加载驱动,loadDriver对应jni的一个native方法,grep搜索下结果如下 ./opt/net/wifi/service/jni/com_android_server_wifi_WifiNative.cpp:1062: { “loadDriver”, “()Z”, (void *)andr原创 2017-04-08 00:53:48 · 1472 阅读 · 0 评论 -
由WifiStateMachine来理解StateMachine
前言:前一段时间在公司分析一个由于突然关掉路由器,导致设备wifi崩溃的问题。通过一段时间的摸索和学习,了解到wifi状态机的工作原理。所谓状态机我的理解是,表示一个物体它现在所处的状态,以及所处状态对于不同指令的处理。以下是我本人所持有的开发板所带的android5.0的wifi状态机的所有状态 从图片中的代码可以看出这差不多是个树形结构(由于图片上传大小的限制,我自己画图没办法上传原创 2017-04-07 23:49:27 · 1200 阅读 · 0 评论 -
RandomAccessFile读写分区设备节点
最近遇到一个apk读写分区的问题,代码如下RandomAccessFile file = new RandomAccessFile("/dev/block/platform/by-name/logo", "rw");这个方法会抛出FileNotFoundException这个异常.然后我就纳闷了首先想到的是AndroidManifest.xml的权限问题,但是尝试半天之后依旧是这个异常,通过adb原创 2016-12-29 11:24:43 · 403 阅读 · 0 评论 -
init.rc在boot中执行shell脚本,无法创建目录
我试了下在init.rc中boot段执行shell脚本,最终脚本可以运行却无法创建目录.目前原因尚不清楚,所以建议创建目录的相关东西尽量参考init.rc来做.原创 2016-12-29 11:12:32 · 791 阅读 · 0 评论 -
init.rc语法解析(转载)
1、init.rc是一个可配置的初始化文件,通常定制厂商可以配置额外的初始化配置,init.%PRODUCT%.rc2、init.rc是在$GINGERBREAD/system/core/init/init.c中读取的,它基于“行”,包含一些用空格隔开的关键字(它属于特殊字符)3、如果关键字中有空格,处理方法类似于C语言,使用/表示转义,使用“”防止关键字被断开,另外注意/在末尾表示换行4、#转载 2016-12-28 23:56:56 · 1619 阅读 · 0 评论 -
init.rc的触发顺序
很久之前一直差不多搞清楚来触发顺序,不过后来又忘了。先来看下我自己开发板的init.rc的内容吧# Copyright (C) 2012 The Android Open Source Project## IMPORTANT: Do not create world writable files or directories.# This is a common source of Andro原创 2016-12-28 23:49:08 · 6528 阅读 · 0 评论 -
JNI基本编程
JNI编程基本写法创建android app项目 忽略res/文件夹下的adt生成的没什么用的东西。 编写MainActivity.java,代码如下:public class MainActivity extends Activity implements OnClickListener{ private EditText etValue1 ; private EditT原创 2016-03-30 20:46:25 · 421 阅读 · 0 评论 -
Android烧录的固件都是怎么生成的
Android固件实质上有哪些东西原创 2016-09-11 22:51:49 · 2831 阅读 · 0 评论 -
AIDL示例编程
aidl的简单示例编程原创 2016-09-10 16:19:15 · 347 阅读 · 0 评论 -
[Android]如何在root目录下新建文件夹
烧录android的固件之后,在根目录下有/sbin /sys /system /dev/ proc /data /mnt /root等目录,想添加一个新的目录,那么得弄清楚这些目录都是怎样生成的,查看代码android/system/core/rootdir/Android.mk的124行左右,有如下图这样的修改这里添加你想添加的目录,这样最终编译完之后out/target/product/...原创 2019-09-10 11:41:52 · 4474 阅读 · 0 评论
分享