
android Framework
voipmaker
nnn
展开
-
android debug 研究
本文来自 csdn lidp 转载著名出处。 1. loggers 通过log 查看 1.1 kernel message log 内核log 保存在一个缓冲区中,可以通命令 dmesg 查看此类型log. 同时可以加 time 参数 打印时间戳。 关于 dmesg可以看这里 http://en.原创 2012-03-10 18:20:43 · 2320 阅读 · 0 评论 -
Android Animation 框架
1. Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,不同Activity切换,不同View之间切换,Layout, 显示列表,显示表格都可以使用动画效果android 2.2之前 Android 中 Animation 资源可以分为两种:Tween Animation: 对单个图像进行各种变换(缩放,平移,旋转等)来实现动画。Frame A原创 2012-04-01 15:16:02 · 2051 阅读 · 0 评论 -
Android Graphic : apk and Skia/OpenGL|ES
Android apk 里面的画图分为2D和3D两种:2D是由Skia 来实现的,也就是我们在框架图上看到的SGL,SGL也会调用部分opengl 的内容来实现简单的3D效果;3D部分是由OpenGL|ES实现的,OpenGL|ES是Opengl的嵌入式版本,我们先了解一下Android apk的几种画图方式,然后再来来看一看这一整套的图形体系是怎么建立的。 首先画图都是针对提供转载 2012-03-31 09:38:37 · 1851 阅读 · 0 评论 -
Android 应用初始化及窗体事件的分发
Android java application运行环境初始化简介:在kernle启动之后, 系统 将通过App_main进程来初始化android Runtime JAVA 运行环境,zygote是android的第一个进程,所有android的应用都是通过zygote fork出来的子进程。与QT不一样的是系统调用fork启动新进程而不再通过execv将子进程完全替换,这样做的目的是每转载 2012-03-31 09:33:25 · 2047 阅读 · 0 评论 -
android opengl 原理及开发(2)绘制基本图形
工程名称为vertex,标识点的意思,点是3d图形空间最基本元素,三角形的绘制通过指定三个点,线由两个点连接构成,对边型至少由三个vertex构成,Activity 名为VertexActivitypackage com.android.vertex;import android.app.Activity;import android.os.Bundle;import an原创 2012-03-29 17:26:35 · 2627 阅读 · 0 评论 -
android opengl 原理及开发(1)
OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,1.1完全兼容1.0。OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的。简单的来说,OpenGL ES是OpenGL针对嵌入式应用的简化版,也就是android使用的标准。OpenGL ES 1.1强调api的硬件加速,OpenGL ES原创 2012-03-29 16:50:30 · 3092 阅读 · 0 评论 -
Android makefile mk 重要参数解释及 通用模板编写
本文来自 csdn lidp 转载著名出处。1. LOCAL_MODULE_TAGS解释:控制此模块在什么情况下编译,一般为下面写法: LOCAL_MODULE_TAGS:= optional可选择的几个值:user:指该模块只在user版本下才编译 eng: 指该模块只在eng版本下才编译 tests: 指该模块只在test原创 2012-03-05 20:25:51 · 4153 阅读 · 0 评论 -
从头构建android 本地C++语言可执行程序
本文来自 csdn lidp 转载著名出处。 上篇文章介绍了Android mk文件的编写,本篇举个具体例子,此程序的功能为对android 提供的log功能进行封装,提供统一的接口函数droid_log(LOG_DEBUG,,,,,);可以根据开关决定log的打印级别(修改logger.h 中的LOGLEVEL 宏),从低到高为五个:LOG_原创 2012-03-05 20:35:47 · 2111 阅读 · 0 评论 -
android framework 层服务 分析
本文来自 csdn lidp 转载著名出处。android framework层服务 是android启动时由systemServer ini2阶段的第一个java线程ServerTHread 初始化的,包括: framesorks/base/services/java/com/android/server/SystemServer.java public sta原创 2012-03-06 21:49:41 · 2909 阅读 · 0 评论 -
移植 外部java库到android framework
本文来自 csdn lidp 转载著名出处。创建一个文件夹保存外部java库源码: external//src拷贝java库到此目录下.打开下面文件: /frameworks/base/Android.mk搜索关键字 # Build ext.jar 添加下面部分[...]ext_dirs := \ ../../external/原创 2012-03-03 21:58:18 · 1878 阅读 · 2 评论 -
集成第三方库到android程序方法
多数时候我们直接在源码上写android mk 文件,但有时候使用第三方库程序时对方只提供静态库或者动态库,此时要集成到android应用程序或framework,Android提供了Prebuilt编译方法,两个文件prebuilt.mk和multi_prebuilt.mk,对应的方法宏是BUILD_PREBUILT和 BUILD_MULTI_PREBUILT。prebuilt.mk原创 2012-03-19 10:16:17 · 2071 阅读 · 0 评论 -
Android UI框架深度解析
UI界面,对于每个应用而言,是它与用户进行交互的门脸。好的门脸,不只是是要亮丽可人,最好还能秀色可餐过目不忘,甚至还应该有涵养有气质,彬彬有理温柔耐心。 对于开发者来说,锻造这样的面容,不但需要高超的技艺,也需要有称手的工具和对得起党的料子。俗话说,朽木不可雕也,芙蓉不是一日炼成的,不是什么平台都能叫特能书。有套好用的UI框架,对于开发者而言,真有如沙漠中的甘露,而要是撞见了杯具的UI套转载 2012-04-12 10:07:52 · 7920 阅读 · 0 评论 -
GDB 调试 android 本地 c/c++ 程序
本文来自 csdn ucser, http://blog.youkuaiyun.com/perfectpdl 转载注明出处,谢谢.有一段时间没弄Android了,整理一下,把之前 用GDB调试 Android jni程序过程共享一下:Android 应用层为JAVA语言,但有时需要C/C++实现一些特定功能,比如视频编解码,此时需要借助JAVA的JNI技术,用JAVA语言原创 2013-04-25 00:14:34 · 2753 阅读 · 2 评论 -
ffmpeg 移植到 android
<!--@page {margin:2cm}p {margin-bottom:0.21cm}-->一:生成动态库(.so文件)-->环境:操作系统:Ubuntu9.10ffmpeg源码版本:ffmpeg-0.6.1(可以在http://ffmpeg.org/download.html 下载源码)androidndk版本:a原创 2011-11-03 16:21:48 · 9762 阅读 · 7 评论 -
android ---Using java surface on the native side
对于 android上的 voip及视频播放器类应用,为提高效率,把视频数据的渲染工作放在native层对提供性能有很大帮助,只需在java层创建一块surface,剩下的工作由native层处理,无需转换为rgb格式到java层,画面控制仍然交给应用层。大致过程:java层创建surface,jni方式传给native层,native层在此surface上渲染native层大致过原创 2012-07-19 10:41:29 · 2689 阅读 · 0 评论 -
android 通过 surface jni层播放yuv数据
最近做 android平台 三星 mfc mpeg4,h264,h263视频的硬件编解码,对于解码,解码器解码后的yuv数据通过 android的 surfaceflinger client直接 push到framebuffer显示,surface的获取不是通过应用层,而是用SurfaceComposerClient C++层创建,遇到的一大麻烦是 权限不够,大致log :WARN/S原创 2012-05-26 00:49:19 · 5302 阅读 · 14 评论 -
android jni 程序框架搭建
android上 jni开发 应用构建过程基本一致,下面 结合最近 在android 上实现 jni层 绘制 surfaceview 功能 阐述 带jni的apk构建过程。apk 目录结构:├── AndroidManifest.xml├── Android.mk├── jni│ ├── Android.mk│ ├── logger.cpp│ ├原创 2012-04-18 19:07:31 · 2836 阅读 · 0 评论 -
android internals
一张android 系统架构图,从横向和总想看。原创 2012-04-18 15:42:51 · 2134 阅读 · 0 评论 -
Android中多线程及异步处理
Handler、Looper、MessageQueue介绍 Handler用于异步消息处理,但是Handler自己并不会创建线程。一般Handler用于计划任务和线程间的通信。 在后台线程与UI线程的交互中最常用。原理是:系统启动程序时,会自动为UI线程创建一个消息队列,和用于管理这个消息队列的Looper。在创建的后台线程时,默认是不会创建Looper和消息队列的(我们自己可以通过调原创 2012-04-29 00:56:49 · 2121 阅读 · 0 评论 -
android 播放器 实现场景搜索 调研
所谓场景搜索即获取视频文件的几个时间点图片并显示,点击场景图可以seek到这个时间点播放视频,关键点在怎么获取视频文件某个时间点的一幅图像, java层 2.2 MediaPlayer 提供了GetFrameA接口获取某个关键帧图片,但jni层没实现(4.0仍然木有),但有个captureScreen ,此接口jni层实现了获取bitmap数据给java层方法。 android 4.0 med原创 2012-04-16 18:34:42 · 1919 阅读 · 2 评论 -
dynamically load more items to the ListView
http://p-xr.com/android-tutorial-dynamicaly-load-more-items-to-the-listview-never-ending-list/http://stackoverflow.com/questions/6014743/how-to-get-listview-positionhttp://www.anddev.org/dyn原创 2012-04-27 00:05:32 · 1964 阅读 · 0 评论 -
android 上实现 控件平滑移动(smooth move) 研究
关于控件的平滑移动在国外著名网站stack overflow上有很多人问,最终也没人给个确切的回答。在平板及基于android的智能电视上控件的平滑移动效果对用户的体验至关重要,最近研究了一下。android 本身并没有对控件平滑移动的支持(可能有,我还不知道),实现控件的平滑移动需借助其动画框架(animation)及经过 扩展的framelayout。首先看framel原创 2012-04-13 22:07:41 · 5798 阅读 · 6 评论 -
adb shell 命令查看android 应用程序 创建的 sqlite 数据库
通过 adb shell 可以执行sqlite3 命令,android 通过 sqlite3 tool 提供此功能,比如 .dump 输出数据库表的内容,.schema输出 某个表的存储过程等。例子:adb connect remote_ip:5555 adb shell//打开应用程序创建的数据库sqlite3 /data/data/packetge_name/databa原创 2012-01-18 17:24:23 · 2535 阅读 · 0 评论 -
android framework 启动流程
嵌入式设备启动时bootloader加载linux内核,linux内核启动后运行第一个用户级进程init,从此进程进入android世界,所以,android是一个框架而不是kernel。在linux系统启动时,内核引导参数上一般都会设置“init=/init”,当andro原创 2011-08-25 15:43:40 · 2253 阅读 · 0 评论 -
android system server 启动流程
start app_process from initinit.rcservice zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server原创 2011-08-23 22:48:02 · 2409 阅读 · 0 评论 -
android 命令大全
cd /system/binls运行完上面的脚本后就会出现所有的Android命令:dumpcrash am dumpstate monkey itr pm input svc ssltest fillup dhcpcd linkerdebuggerd hosta转载 2011-05-13 18:53:00 · 4845 阅读 · 0 评论 -
Android 的网络编程
简介本文探究了 Android 的网络功能。了解如何利用 Android 的网络选项来实现有趣、有用的东西。Android 平台非常适合 Java™ 开发人员:他们可以使用已有的技能将网络连接带到一个移动或 “嵌入式” 平台中。在本文中,了解用于 Android 应用转载 2011-08-18 18:33:46 · 2263 阅读 · 0 评论 -
android ndk 编译 ffmpeg
http://odroid.foros-phpbb.com/t338-ffmpeg-compiled-with-android-ndk原创 2011-07-21 09:48:53 · 1429 阅读 · 0 评论 -
android 系统级 bug audio latency
android 一直没有提供 real-time audio, 现有的音频延时大概 500ms~1000ms, 这对于voip通信来讲是不可容忍的,此bug 在android 上一直存在,引起大量开发者的抱怨,下面为几个链接。http://forums.adobe.com/message/3684365,http://www.androidannoyances.com/post/38原创 2011-07-01 14:35:00 · 1863 阅读 · 1 评论 -
android ndk 开发之 在 框架层使用 jni
<br />前面说过在android上实现jni调用有两种方式,在框架层实现,在应用程序 apk上实现。<br /> <br />在框架上实现:<br />需要在 java 源码中声明, 在C++代码中实现jni的各种方法,并注册到系统中。<br />jni的核心是jniNativeMethod 结构体,在jni.h中声明。<br /> <br />typedef struct {<br /> const char *name; //jnj 函数的名称<br /> const cgar *signatur原创 2011-05-30 16:03:00 · 2617 阅读 · 0 评论 -
android ndk 开发之 在 应用程序中使用 jni
在 Android 中提供 JNI 的方式,让 JAVA 程序可以调用 C 语言的程序。很多Android 中 JAVA 的类都具有 native 的接口,这些nantive 接口就是由本地实现,然后注册到系统中的。android上JAVA应用程序 ||JAVA框架 |(声明本地接口 )JNI | C/C++本地库在 Android 中,主要的 JNI 的代码在以下的路径中: frameworks/base/core/jni/这个路径中的内容将被编译成为原创 2011-05-26 13:53:00 · 1962 阅读 · 0 评论 -
android kernel 初始化 1
The Android boot process from power onSince mobile platforms and embedded systems has some differences compared to Desktop systems in how转载 2011-05-18 15:39:00 · 1492 阅读 · 0 评论 -
android 关机 流程分析
嵌入式系统一般都有一个关机按键,长按这个按键系统会弹出关机对话框,提示关机确认,关机动作从按键触发中断,linux kernel层给android framework层返回按键事件进入 framework层,再从 framework层到kernel层执行kernel层原创 2011-08-26 11:30:15 · 6096 阅读 · 0 评论 -
Android Framework 基础
Android is a stack of software for mobiles that comprised of operating system, middle wares and various basic applications. The tools and APIs necessary are being provided by Android SDK to develop v原创 2012-01-18 11:09:50 · 1890 阅读 · 0 评论 -
Android 上调试 webkit framework 层及jni层
1. 调试 framework 层webkit 模块 方式:修改 frameworks/base/core/java/android/webkit/DebugFlags.java 根据需要开启相应开关,这些开关默认是关闭的,修改后重新编译framework(mm framework) ,把生成的framework.tar 及framework-res.apk 放到目标机即可原创 2011-12-15 13:42:54 · 2891 阅读 · 0 评论 -
android 上 选择webkit js引擎方式
有两种方式可以控制在WebCore中使用哪个JS引擎。1、设置JS_ENGINE变量。有两个值:jsc,v8。这是最方便的方式2、如果JS_ENGINE变量没有设置,或者设置的值不是jsc,v8其中的一个的话,这个makefile会选择一个默认的引擎进行编译。对于默认引擎的选择,主要取决于两个变量ARCH_ARM_HAVE_VFP(是否支持VFP)和USE_ALT_JS_ENGINE(转载 2011-12-07 13:00:21 · 1714 阅读 · 0 评论 -
android wiki
http://elinux.org/Android_Portalhttp://elinux.org/Category:Androidhttp://kobablog.wordpress.com/http://www.makelinux.net/android/android ndk wikihttp://www.kandroid.org/n原创 2011-08-23 14:00:20 · 1646 阅读 · 5 评论 -
一个 android 资料
上面的android 文章很好。 http://elinux.org/Category:AndroidAndroid Porting Guidehttp://www.netmite.com/android/mydroid/development/pdk/docs/index.htmlhttp://benno.id.au/blog/2007原创 2011-10-14 12:31:07 · 1156 阅读 · 0 评论 -
android 4.0 (Ice Cream Sandwich) 已经开源
android 4.0 (Ice Cream Sandwich)的源码终于放出来了,下载地址:http://source.android.com/source/downloading.html下载完成后主要包含一下目录:view plainprint?abi bionic bootable build ct原创 2011-11-16 21:34:07 · 1968 阅读 · 0 评论 -
android 上调试动态库方法
关于android 上 gdb调试进程的方法请参考前一篇文章。如果 android应用程序 包含动态库调用,程序异常退出后 给出一堆地址,如I/DEBUG ( 841): signal 11 (SIGSEGV), fault addr deadbaad原创 2011-10-14 16:32:45 · 2707 阅读 · 0 评论