
android
文章平均质量分 68
RationalGo
这个作者很懒,什么都没留下…
展开
-
ijkplayer设置rtmp秒开(转)
ijkplayer和ffplay在打开rtmp串流视频时,大多数都会遇到5~10秒的延迟,在ffplay播放时,如果加上-fflags nobuffer可以缩短播放的rtmp视频延迟在1s内,而在ijkVideoView中加入 IjkMediaPlayer ijkMediaPlayer = null; ijkMediaPlayer = new IjkMediaPlayer(); ijkMediaPlayer.setOption(1, "analyzemaxdurat..转载 2020-09-19 00:08:35 · 1079 阅读 · 0 评论 -
记一次apk没有打包so文件的经历
今天搞一个apk,有so库的,run之后闪退,看了打印信息是提示加载so库失败,找不到so库,分析apk文件确实没有打包so库进去,问度娘和谷哥,都无法解决,后来我查看一下我其他那些可以打包成功的apk,发现build.gradle文件使用了如下的参数: sourceSets.main { jniLibs.srcDirs 'src/main/jniLibs' jni.srcDirs = [] // This prevents the auto generation原创 2020-08-03 21:00:53 · 2559 阅读 · 0 评论 -
Android 源代码在线查看(转)
博客原文在http://blog.youkuaiyun.com/rambo2188/article/details/7391027google开放了android的源码,我们可以在如下网站下载到:http://source.android.com/source/downloading.html但是有时候我们只是想查看一下某个部分是怎么实现,不想去下载整个repo甚至是整个wor转载 2013-01-02 23:44:15 · 515 阅读 · 0 评论 -
Android应用程序的生命周期
首先我们看一下Android应用程序的生命周期图: 在大部份情况下,每个Android应用都将运行在自己的Linux进程当中。当这个应用的某些代码需要执行时,进程就会被创建,并且将保持运行,直到该进程不再需要,而系统需要释放它所占用的内存,为其他应用所用时,才停止。 Android一个重要并且特殊的特性就是,一个应用的进程的生命周期不是由应用自身转载 2013-04-11 17:04:30 · 641 阅读 · 0 评论 -
Android中级教程之----Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)!
原文在http://blog.youkuaiyun.com/Android_Tutor/article/details/5081713在Android群里,经常会有人问我,Android Log是怎么用的,今天我就把从网上以及SDK里东拼西凑过来,让大家先一睹为快,希望对大家入门Android Log有一定的帮助.android.util.Log常用的方法有以下5个:Log.v() Log.d()转载 2013-04-23 11:17:13 · 891 阅读 · 0 评论 -
coredump在Android上的应用
之前整理过一篇linux core dump的文章,一直想把这个特性在手机上应用起来,帮助排查错误,今天终于如愿以偿,记录如下。【1】概述在Android系统上,java应用程序出错时很容易通过logcat获取出错信息,一般会有详细的callstack(调用栈),例如:java.lang.NullPointerException: at com.android.provider转载 2013-04-23 13:52:15 · 932 阅读 · 0 评论 -
Android.mk 翻译
Android.mk文件语法规范 译者:ChrixLee 2010.5.12 序言:-------------此文档旨在描述Android.mk文件的语法,Android.mk文件为Android ND转载 2013-04-23 13:59:38 · 653 阅读 · 0 评论 -
Android系统进程Zygote启动过程的源代码分析
在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本文将详细分析它的启动过程。 在前面一篇文章Android应用程序进程启动过程的源代码分析中,我们看到了,当ActivityManag转载 2013-04-23 14:30:35 · 801 阅读 · 0 评论 -
Activity详细讲解
原文在http://blog.youkuaiyun.com/android_tutor/article/details/5039013这篇文章会涉及到以下几个内容一 Activity的生命周期二 让Activity变成一个窗口:Activity属性设定三 你后台的Activity被系统 回收怎么办:onSaveInstanceState四 调用与被调用:我们的通信使者 - Inte转载 2013-04-23 11:33:33 · 637 阅读 · 0 评论 -
Android 调试工具集【转】
1.TraceView1)功能:用于热点分析和性能优化,分析每个函数占用的CPU时间,调用次数,函数调用关系等 2)方法: a)在程序代码中加入追踪开关 import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”);// 先建/data/tmp目转载 2013-04-23 13:54:43 · 601 阅读 · 0 评论 -
Android process
In this topic you will learn some information about Android process management. First let’s take a look at the launched processes during Android booting.USER PID PPID VSIZE RSS WCHAN PC NAMEro转载 2013-04-23 13:57:34 · 851 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l ServiceManager,这是Androi转载 2013-04-23 17:16:24 · 538 阅读 · 0 评论 -
两分钟彻底让你明白Android Activity生命周期(图文)!
转自:http://blog.youkuaiyun.com/android_tutor/article/details/5772285大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助 ,但是还不能完全吃透,所以我今天特意在重新总结一下.首先转载 2013-04-23 11:15:27 · 573 阅读 · 0 评论 -
Android display架构分析二-SW架构分析
下面简单介绍一下上图中的各个Layer:*蓝色部分-用户空间应用程序应用程序层,其中包括Android应用程序以及框架和系统运行库,和底层相关的是系统运行库,而其中和显示相关的就是Android的Surface Manager, 它负责对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。*黑色部分-HAL层,在2.2.1部分会有介绍*红色部分-L转载 2013-04-16 11:13:06 · 739 阅读 · 0 评论 -
Android编译后的目录结构
Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹目录结构如下所示:out/-- CaseCheck.txt-- casecheck.txt-- host -- common -- linux-x86/darwin-x86-- target(如果编译时候定义TARGET_STRIP_MOD转载 2013-04-24 17:18:04 · 592 阅读 · 0 评论 -
Android开发者必备的十个工具
原文http://www.developer.com/ws/10-must-have-android-tools-for-developers.html ByLauren Darcey & Shane ConderAndroid SDK有一套强大的工具帮助开发人员设计,开发,测试和发布高质量的Android应用程序。在这篇文章中,讨论了10个最常见的工具,android 开发者应该了解和学转载 2013-04-24 17:20:17 · 882 阅读 · 0 评论 -
Android SDK核心包简介
Android SDK中的核心包在frameworks/base/core/java/android中,下面是各个核心包的介绍。android.app:实现Android的应用程序模型。主要的类包括Application(表示开始和结束语义),以及众多与Activity相关的类、控件、对话框、提醒和通知。android.bluetooth:提供一些类来处理蓝牙功能。主要的类包括Blueto转载 2013-04-24 17:21:55 · 851 阅读 · 0 评论 -
Android中Service组件详解
Service是Android的四大组件之一,以下是我结合Android Doc和网上资料的学习总结,有不准确的地方请高手指出,互相学习嘛。。。 1.Service是什么Service是Android的四大组件之一,即Android系统的服务(不是一个线程,是主程序的一部分),与Activity不同,它是不能与用户交互的,不能自己启动的,需要调用Context.startService转载 2013-04-24 17:31:52 · 681 阅读 · 0 评论 -
Android消息处理机制
大家在学习Handler之前应该先了解Android的消息处理机制,这样有助于掌握Handler的使用原理。一.角色描述1.Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。2.Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里,或者接收Looper(从Me转载 2013-04-24 17:54:24 · 563 阅读 · 0 评论 -
简单的在eclipse中attach android 源码的方法
1. 点击 Help -> Install New Software 2. 输入update 网址:http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/3. 接着安装即可转载 2013-04-16 10:13:22 · 610 阅读 · 0 评论 -
Android架构详解
Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。下面自底向上分析各层。 Android架构 1、Linux Kernel Android基于Linux 2.6提供核心系统服务,例如转载 2013-04-16 10:11:51 · 567 阅读 · 0 评论 -
J2ME与Android的常用类和方法对比
做过一段时间的J2ME开发,现在想学习Android开发,从网上找到一张关于J2ME和Android系统的常用类、方法对比的图片,跟大家分享下!有兴趣的大家可以一起交流。转载 2013-04-24 17:28:47 · 642 阅读 · 0 评论 -
ADT Plugin for Eclipse(Android开发工具) 20.0.3 官方最新版
这是一个Eclipse插件,作用是关联Android SDK,使你的Eclipse能够新建Android工程,安装方法如下:打开Eclipse中的菜单 “Help”->”InstallNewSoftware”进入软件安装界面,点击“Add”按钮。输入如下地址:https://dl-ssl.android.com/android/eclipse/原创 2013-04-16 15:28:39 · 1141 阅读 · 0 评论 -
Android使用AIDL实现进程间通信
Android的每个应用程序都是一个不同的进程,在Android平台一个进程通常不能访问另一个进程的内存空间。比如一个应用程序有两个进程,一个进程负责UI的展示,而另一个进程(通常是在此进程中使用一个service)用来进行网络资源的请求,需要主进程和服务进程之间进行数据的传递。(微信就是使用的这种机制)Android提供了AIDL来实现进程间通信(IPC),AIDL全称为Android转载 2013-04-25 16:06:49 · 593 阅读 · 0 评论 -
Android中的长度单位详解
in(英寸)长度单位(基本用不到)mm(毫米)长度单位(基本用不到)pt(point磅)1/72英寸,标准的长度单位(基本用不到) px(pixel像素)指的是屏幕上的点dp(与密度无关的像素)一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1pxdip(device independent pixels设备独立像素) 不同设备有不同的显示效果,这个和设备硬转载 2013-04-25 16:07:21 · 635 阅读 · 0 评论 -
Android 4.0 external下功能库说明
android-mock:编译为java静态库。说明:Android Mock is a framework for mocking interfaces and classes on the Dalvik VM。资料http://code.google.com/p/android-mock/antlr:编译为java静态库,开源语法分析器apache-harmony:放源原创 2013-04-25 23:30:01 · 794 阅读 · 0 评论 -
Android系统在新进程中启动自定义服务过程(startService)的原理分析
原文在http://blog.youkuaiyun.com/luoshengyang/article/details/6677029 在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验。Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子类,在里面实现自己的计算原创 2013-04-26 17:10:55 · 824 阅读 · 0 评论 -
Android 的演变【信息图】
据谷歌月初公布的 Android 分支份额数据显示,Android 1.5 版本已经不见踪影,1.6 和 3.x 版本也在消失的边缘。目前市场上移动设备搭载的系统版本主要集中在 2.3 和 4.x 上,这些版本共占据了 94% 的份额。 尽管 Android 碎片化的问题有缓解的迹象,但这仍会对 App 开发者造成一定的困扰。除了系统外,还有数不尽的机型、屏幕分辨率等。Android 系统转载 2013-05-15 17:57:59 · 749 阅读 · 0 评论 -
Android的图形API调用(二)
graphics类是Java最底层的方法,这些方法并不是直接被虚拟机解释执行,而是通过JNI,调用Skia Native库的函数。JNI函数的具体位置在frameworks\base\core\jni\android\graphics,基本上一个cpp对应一个graphics类,也有多个graphics类对应一个cpp。此外GraphicsJNI.h和Graphics.cpp封装了一些转载 2013-05-22 21:06:44 · 1045 阅读 · 0 评论 -
android lunch函数浅析
build/envsetup.sh 脚本分析(lunch函数)lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环境变量。直接运行lunch(必须先运行 build/envsetup.sh,让lunch函数驻留到环境变量中)ning@ning-desktop:~/转载 2013-05-22 23:52:05 · 1072 阅读 · 0 评论 -
Android的图形API调用(一)
android.graphics 底层调用,提供可以直接写屏的方法frameworks\base\graphics\java\android\graphics\重要类Bitmap 位图操作类BitmapFactory 构造位图类的方法,从文件、流、数组等Canvas 画板,拥有一系列drawXXX的方法,用来绘制位图Color 颜色类,拥有创建和改变颜转载 2013-05-22 21:06:23 · 1400 阅读 · 0 评论 -
android
http://source.android.com/source/initializing.html原创 2013-05-22 20:50:06 · 682 阅读 · 0 评论 -
Android HAL实现的三种方式(2) - 基于Service的HAL设计
在上一篇文章中,我介绍了一种应用程序直接调用JNI库的HAL设计方法,该方法虽然简单,但是不符合Android的框架结构,下面我们介绍一种通过Service提供接口给应用程序的设计方法,结构如下:HAL stub JNI 库 JAVA Service JAVA 应用程序。HAL stub的设计和上文一样,JNI库的设计中唯一需要修改的地方就是register_mokoid_se转载 2013-05-10 11:37:11 · 939 阅读 · 0 评论 -
Android HAL 开发 (2)
在上一篇文章中,我们看到了如何撰写HAL层的用户硬件驱动程序,我们每也知道,最终该代码会被编译成动态链接库提供给service(jni)使用,那么我们下面来看看service(jni)是如何与HAL通信的。一般service的jni代码位于framework/base/service/jni/中,我们看看mokoid的ledservice是如何实现的: framework/转载 2013-05-10 10:53:11 · 566 阅读 · 0 评论 -
Android HAL 开发 (5)
上一章介绍了直接调用Service来操作硬件的方法,如果我们再优化一下结构,通过一个Manager来调用这个Service的方法,可能会更好。这样Service就可以跑在后台,由于这时候service和manager是两个进程,所以只能通过IPC来进行通信。我们在上一篇看到 public final class LedService extends ILedService.Stub { }转载 2013-05-10 10:54:10 · 599 阅读 · 0 评论 -
Android HAL实现的三种方式(1) - 基于JNI的简单HAL设计
现在在Android上的HAL开发总的来说还是随意性比较大,Android也并没有规范好一个具体的框架,下面我将根据Jollen的Mokoid工程,自己做了一些改动,分别给大家介绍一下三种实现方式。这篇先介绍最简单的一种实现方式 - Java应用程序直接调用JNI库。由于JNI技术的存在,在Android中,java程序能够很好的调用C/C++库。我们这里设计一个简单的HAL,一共转载 2013-05-10 11:13:26 · 748 阅读 · 0 评论 -
Android HAL实现的三种方式(3) - 基于Manager的HAL设计
在上文中我们实现了利用Service来设计HAL,但是根据Android的框架,一般应用程序都不直接和Service打交到,中间需要经过一个Manager层。我们在这里也按照Android的框架,进一步优化HAL的设计。结构如下:HAL stub JNI 库 JAVA Service Manager JAVA 应用程序。由于LedManager和LedService转载 2013-05-10 11:40:13 · 681 阅读 · 0 评论 -
Android2.3 MediaPlayer系统祥解系列(概述)
Android 的mediaplayer包含audio及video两部分的播放功能上,单独的音频或视频都是一个系统中的重要组成部分,另外一个就是显示系统部分在,在android系统最核心的就是SurfaceFlinger组件了。而音视频也同时存在核心部分:AndioFlinger及Stagefright(OpenCore)做具体的视频处理工作。1、代码位置 需要从代码阅读了转载 2013-05-23 17:55:02 · 897 阅读 · 0 评论 -
init进程 && 解析Android启动脚本init.rc && 修改它使不启动android
Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序。提供了以下的功能:设备管理、解析启动脚本、执行基本的功能、启动各种服务。代码的路径:system/core/init,编译的结果是一个可执行文件:init。这个init 的可执行文件是系统运行的第一个用户空间的程序,它以守护进程的方式运行。启动脚本则就是下面要讲的Init.rc。===============转载 2013-05-24 15:17:49 · 1109 阅读 · 0 评论 -
Android的源代码结构 && 一些常用术语 && Android的支持库 && app/apk包进系统
Android的本地实现层次具有基本的库和程序。这些库和程序是Android基本系统运行的基础。主要包含了以下的内容:C语言底层库libcutils、Init进程、Shell工具、C++工具库libutils。 Android的源代码结构分为三部分:(1)核心工程:是建立android系统的基础,在根目录下的若干文件夹。 bionic:提供C/C++标准转载 2013-05-24 15:22:33 · 1357 阅读 · 0 评论