![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发
文章平均质量分 59
nadyhuayue
这个作者很懒,什么都没留下…
展开
-
Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:[java] view plaincopyUNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentExcep转载 2015-02-27 15:25:31 · 686 阅读 · 0 评论 -
android 状态栏(StatusBar)
一、SystemUI 概述 自android2.2开始 , 原本存在与framework-res.apk中的状态栏和下拉通知栏界面控制被分割出一个单独的apk文件 , 命名为SystemUI.apk,保存在 System/app 文件夹中。在 SystemUI.apk 中 , 是存在着状态栏的图标,XML和控制文转载 2013-07-23 09:49:04 · 1106 阅读 · 0 评论 -
如何预置APK
一、如何将带源码的APK预置进系统?1) 在 packages/apps 下面以需要预置的 APK的 名字创建一个新文件夹,以预制一个名为Test的APK 为例2) 将 Test APK的Source code 拷贝到 Test 文件夹下,删除 /bin 和 /gen 目录3) 在 Test 目录下创建一个名为 Android.mk的文件,内容如下:LOCA转载 2013-07-16 21:15:21 · 621 阅读 · 0 评论 -
Android 修改Navigation bar为半透明?
Navigation bar是google 从4.0版本开始支持的feature,默认情况下这个feature对应的option是关闭的,需要通过修改config 文件来开启。开启navigation bar的方法和注意事项,请参考FAQ:如何开启navigation bar。如果想要做到,在开启navigation bar的情况下,可以透过navigation bar的背景看到navig转载 2013-07-16 21:11:34 · 1797 阅读 · 0 评论 -
Android 4.0 虚拟按键、手机模式、平板模式
Android 4.0 虚拟按键、手机模式、平板模式 关键词:android 4.0 手机模式(phone) 平板模式(table) 虚拟按键 lcd_density平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210/4412)作者:xubin341719(转载 2013-06-19 19:44:20 · 903 阅读 · 0 评论 -
android常用传感器
下面是API中定义的几个代表sensor的常量。IntTYPE_ACCELEROMETERA constant describing an accelerometer sensor type. 加速度传感器intTYPE_ALLA constant describing all sensor types. 所有类型转载 2013-05-30 09:37:33 · 760 阅读 · 0 评论 -
android权限之sharedUserId和签名
最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设转载 2013-05-24 14:12:41 · 658 阅读 · 0 评论 -
android.uid.system下解决sdcard读写问题
因为在做一个项目时发现在有Manfast.xml文件sharedUserId="android.uid.system时,即使你加了权限: 也还是不能操作sdcard,那么如何解决这个问题?第一:把sharedUserId="android.uid.system去掉即可,但是我们必须要sharedUserId="android.uid.system那怎么转载 2013-05-24 14:14:23 · 1036 阅读 · 0 评论 -
Android4.x 如何处理Power按键
1. 简介 Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这些键发送给Activity和Service,需要在PhoneWindowManager处理这些键时“发送一个广播出去,然后在转载 2013-05-22 17:07:42 · 939 阅读 · 0 评论 -
Android 4.0 中由ProGuard引发的一场血案
案件还原: 修改Android 4.0源码中的Setting,添加一项功能之后,在eng模式下编译,一切正常,遂提交代码到服务器。第二天,传来噩耗,Setting上新添加的功能无法使用,一点击则报错。案件分析: 上传代码之前,已经在本地编译测试过,咋会有错呢??!!管它三七二十一,操起adb logcat抓取log进行分析。不看不知道,一看吓一跳,log中显转载 2013-05-06 16:44:00 · 557 阅读 · 0 评论 -
Android中使用系统桌面背景作为应用背景,支持拖动
在Android应用开发中,使用系统桌面背景作为应用的背景,需要把应用的背景设置为透明背景,然后设置窗口的属性为FLAG_SHOW_WALLPAPER即可显示背景。修改AndroidManifest.xml文件里面activity属性: android:label="@string/app_name"转载 2013-07-23 09:49:54 · 868 阅读 · 0 评论 -
Android设置系统时间和时区
设置系统时间:boolean isSuc = SystemClock.setCurrentTimeMillis(curMs);//需要Root权限 设置系统时区:AlarmManager mAlarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);mAlarmManager.setT转载 2013-08-06 16:19:45 · 1224 阅读 · 0 评论 -
mtk preloader
mtk preloader分类: mtk开发2014-09-17 11:30 732人阅读 评论(4) 收藏 举报preloader按照mtk的说法是MTK in-house developed loader,也就说是mtk内部开发的一个loader,那么单独编译preloader也是可以的,使用命令./mk project_name n pl。1. 启动流程首转载 2015-01-28 11:10:26 · 1262 阅读 · 0 评论 -
android apk反编译和odex转dex
大家好,这里介绍apk反编译操作。1:apk反编译2:odex转dex 操作环境:ubuntu A:apk反编译.到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list点击下载apktool-1.0.0.tar.bz2 和apktool-inst转载 2014-01-11 18:06:38 · 1077 阅读 · 0 评论 -
Java程序打包成jar包
Java程序打包成jar包 方法一:通过jar命令jar命令的用法:下面是jar命令的帮助说明:用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point][-C dir] files ...选项包括: -c 创建新的归档文件 -t 列出归档目转载 2014-01-06 11:26:07 · 708 阅读 · 0 评论 -
SurfaceFlinger研究
一. android显示系统的建立 我们看SurfaceFlinger的定义就知道,它其实是一个Thread, 因此SurfaceFlinger的初始化工作就理所当然的放在了SurfaceFlinger线程中,详见readyToRun()@SurfaceFlinger.cpp SurfaceFlinger对于显示的管理是通过一个或多个GraphicPlane对象(目前andr转载 2014-01-04 14:57:01 · 580 阅读 · 0 评论 -
Android Service学习之AIDL, Parcelable和远程服务
AIDL的作用 由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。 通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。转载 2013-12-09 10:36:55 · 625 阅读 · 0 评论 -
Android Matrix理论与应用详解
Matrix学习——基础知识 以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平转载 2013-11-30 10:27:18 · 607 阅读 · 0 评论 -
SystemProperties与Settings.system
android源码开发中,常常要用到一些全局标志或者说变量,这时候我们可以给android系统添加自己想要的属性。1.Settings.system这种系统属性我们经常用到,例如飞行模式的开启和关闭,我们就是去改变Settings.system.AIRPLANE_MODE_ON 的值。下面就介绍下我们怎样去定义一个系统属性。例如要添加一个属性名为“SILVAN_LIU”路径:fra转载 2013-10-15 17:19:21 · 684 阅读 · 0 评论 -
android 系统 makefile文件(Android.mk)组织结构
下面是main.mk文件包含关系,本文档主要说明的就是这些文件里到底做了什么。(这个文件被根目录下的makefile文件包含) 一. main.mk 1.检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core 2转载 2013-10-08 14:49:09 · 737 阅读 · 0 评论 -
android中设置默认语言 默认时区
1. 设置默认时区PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.timezone=Asia/Shanghai\注:搜索“persist.sys.timezone”,并更改其值persist.sys.timezone值域•Marshall Islands 马绍尔群岛转载 2013-08-12 20:04:19 · 1109 阅读 · 0 评论 -
android优化
1 General1 编译release版本2 除报错信息外,去除所有的打印信息,对于部分常规错误,也可以关闭打印信息3 Config.javapublic static final boolean LOGD =true; 改为:public static final boolean LOGD =false;很多打印信息都通过判断LOGD来决定是否输出。转载 2013-04-07 15:14:12 · 1494 阅读 · 0 评论 -
Android系统如何实现UI的自适应
2012-06-05 11:31 86人阅读 评论(0) 收藏 举报做Android应用的人都知道,要一个apk适用多个不同的手机屏幕是很容易的,就是在项目的res文件夹下面有多套相关的资源文件。程序运行的时候,Android系统会根据当前设备的信息去加载不同文件夹下的资源文件。但是Android系统是怎么做到这一点的呢?上网上搜了一下,很少有这方便的介绍,只好自己研究下代码了。下面是转载 2013-02-18 14:44:15 · 381 阅读 · 0 评论 -
android 4.1 强制使用720dp的布局
机器升级为android 4.1,10寸的平板跟以前的布局没有什么两样,但是7寸的就出了点问题。 谷歌Nexus 7也是7寸,默认使用的layout跟手机有些相似,但不全是手机布局。Nexus 7是1280 x 800,DPI 为213,这样经过计算,宽度换算为DP就是800 * 160 / 213 = 600; 4.1中对于600 ~ 719 dp的分辨率转载 2013-02-18 14:45:00 · 551 阅读 · 0 评论 -
binder 实例分析
android的binder机制提供一种进程间通信的方法,使不同一个进程可以以类似远程过程调用的形式调用另一个进程所提供的功能。android的代码中,与C/C++的binder包括一些类型和接口的定义和实现,相关的代码在下面这几个文件中: frameworks/base/include/utils/IInterface.h frameworks/base/include/转载 2012-12-21 11:09:53 · 939 阅读 · 0 评论 -
android窗口管理机制
在学习 WindowManager 接口的时候,了解到这个接口很重要,因为它可以直接与Window Manager(窗口管理器)进行交互,那这个 Window Manager 究竟是怎么一回事呢? 通过查找资料,我知道了 Window Manager 其实是一个 service(服务)。它是全局的,系统中唯一的,是独立于android应用程序的,所有android应用程序公用的转载 2012-12-21 10:46:07 · 502 阅读 · 0 评论 -
Looper与Handler
Looper的字面意思是“循环者”,它被设计用来使一个普通线程变成Looper线程。所谓Looper线程就是循环工作的线程。在程序开发中(尤其是GUI开发中),我们经常会需要一个线程不断循环,一旦有新任务则执行,执行完继续等待下一个任务,这就是Looper线程。使用Looper类创建Looper线程很简单:View Code public class LooperThread ex转载 2012-12-20 16:07:00 · 492 阅读 · 0 评论 -
android makefile 编译分析及 android.mk分析
下面是main.mk文件包含关系,本文档主要说明的就是这些文件里到底做了什么。(这个文件被根目录下的makefile文件包含)一. main.mk1.检查版本号,设置环境变量(BUILD_SYSTEM)和缺省的目标。$(MAKE_VERSION) >= 3.81,BUILD_SYSTEM= build/core2.包含文件BUILD_SYSTEM/config.mk。根据配置信息和转载 2012-12-29 21:35:53 · 757 阅读 · 0 评论 -
Android编译系统分析大全 终极总结篇
分类: android 2012-07-31 10:27 1197人阅读 评论(0)收藏举报一、概述 自Android开源以来,引起了嵌入式行业一股热潮,很多嵌入式开发者表示对Android有很强的兴趣,并下载Android源码进行编译和移植。Android源码的巨大(repo下来,大概2G)给人以Android相当复杂的错觉。本文从Android编译系统的转载 2012-12-29 21:34:51 · 1236 阅读 · 1 评论 -
Android系统集成第三方pre-build库和程序
对于Android系统集成有源码的第三方库和程序,只需要提供Android.mk文件,把源码集成到 Android编译系统中就可以了,并且有很多例子可以参考。但是对于没有源码的pre-build第三方库和程序,网上介绍的比较少,可以参考的例子也不多。本文简单介绍一下集成pre-build库和程序时候,怎样编写Android.mk。1、集成静态库[xhtml:nogutter] vi转载 2012-12-29 21:30:58 · 746 阅读 · 0 评论 -
Unicode汉字编码表
1 Unicode编码表 Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字转载 2012-12-28 16:58:31 · 16721 阅读 · 0 评论 -
onInterceptTouchEvent和onTouchEvent调用时序
onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种touch事件的机会,因此纯粹的不能包含子view的控件是没有这个方法的,如Linea转载 2012-12-25 17:20:43 · 358 阅读 · 0 评论 -
ICS中launcher的滑动源码分析
点击查看大图桌面的左右滑动功能主要是在PagedView类中实现的,而WorkSpace是PagedView类的子类,所以会继承PagedView中的方法。当我们的手指点击WorkSpace时,首先就会触发PageView中的onInterceptTouchEvent()方法,会根据相应的条件来判断是否对Touch事件进行拦截,如果onInterceptTouchEvent()方法返回为t转载 2012-12-25 16:05:48 · 755 阅读 · 0 评论 -
camera架构service分析
前一篇文章我们从进程的C/C++层面讲解了binder机制的服务代理对象BpBinder的获取,和Binder底层处理方法。整个服务代理的获取过程也是binder机制的的核心内容,它涉及到了客户请求,请求的传递和处理,服务代理的生成和转换(封装)过程。当客户端获取到对应服务的代理后,就可以通过这个服务代理和服务端通讯了。 本文我们将以binder机制在android中的应用实例,转载 2012-12-21 11:44:59 · 644 阅读 · 0 评论 -
Android系统默认Home应用程序(Launcher)的启动过程源代码分析
在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了,本文将详细分析Launcher应用程序的启动过程。 Android系统的Home应用程序Launcher是由ActivityManagerServi转载 2012-12-22 15:23:50 · 683 阅读 · 0 评论 -
MT6573 android 系统默认语言处理流程
一、系统有一个预置语言,即在 makefile 文件中定义的语言; 位置:build/target/product/${Project}.mk PRODUCT_LOCALES := \ en_US \ es_ES \ zh_CN \ zh_TW \ ru_RU \ pt_BR \ fr_FR \ de_DE \ tr_TR \ it_IT \ in_ID \ ms_MY \ th_转载 2013-01-22 17:37:07 · 823 阅读 · 0 评论 -
Android属性之build.prop,及property_get/property_set
简要分析一下build.prop是如何生成的。Android的build.prop文件是在Android编译时收集的各种property(LCD density/语言/编译时间, etc.),编译完成之后,文件生成在out/target/product//system/目录下。在Android运行时可以通过property_get()[c/c++域] / SystemProperties_get*转载 2013-01-29 20:42:30 · 561 阅读 · 0 评论 -
repo使用
1 repo介绍Android 使用 Git 作为代码管理工具,开发了 Gerrit 进行代码审核以便更好的对代码进行集中式管理,还开发了 Repo 命令行工具,对 Git 部分命令封装,将百多个 Git 库有效的进行组织。1.1 清单库文件介绍一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。清单文件以xml格式组织的。举个例子:转载 2013-01-28 14:26:34 · 1688 阅读 · 0 评论 -
怎样让Eclipse控制台的log信息不被清掉
在Window-Preferences-Run/Debug-Console中把Console buffer size设大点儿原创 2013-01-24 11:55:02 · 1104 阅读 · 0 评论 -
android拨打电话流程分析
拨出电话流程:1 在系统源码这个路径下/packages/apps/Phone/src/com/android/phone/DialtactsActivity.javacontacts的androidmanifest.xmlandroid:process="android.process.acore"说明此应用程序运行在acore进程中。DialtactsActivity的inte转载 2013-01-23 15:42:18 · 981 阅读 · 0 评论