ANDROID
后知后觉
这个作者很懒,什么都没留下…
展开
-
Android Studio引用aar
androidstudio引用aar的时候,一般需要将aar文件放在libs目录下,并同步修改build.gradle文件。如若aar中存在so文件,但我们为了减少apk大小,仅仅想其中几种abi,而非所有abis,可在。如此,将不需要的abiexclude掉,在一定程度上可为apk瘦身。...原创 2022-07-26 15:11:33 · 2481 阅读 · 0 评论 -
Android MediaCodec解码并播放视频
接收网络传输的数据,并使用MediaCodec解码,解码之后,使用SurfaceView播放。 <MyGLSurfaceView android:id="@+id/videoView" android:layout_width="wrap_content" android:layout_height="wrap_content" />定义Renderer渲染:public class VideoRenderer impleme原创 2022-03-12 12:15:34 · 5763 阅读 · 0 评论 -
Android MediaCodec编码MediaPlayer视频
闲暇时间,做了一个Demo,用来网络传输视频内容。通过MediaPlayer播放视频文件,将其内容渲染到MediaCodec,中间也可加入其他特效处理。最后将MediaCodec的内容发送出去。1、首先需要准备一个渲染线程,用来opengl 渲染public class VideoRenderer extends Thread implements SurfaceTexture.OnFrameAvailableListener { private static fina..原创 2022-03-09 17:19:13 · 5473 阅读 · 0 评论 -
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
Installation did not succeed.The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFORMEDList of apks:[0] 'E:\AndroidSdutioProjects\xxxxx\build\outputs\apk\debug\xxx.apk'Installation failed due to: 'null'在AndroidManifest.xml原创 2021-07-21 14:19:37 · 966 阅读 · 0 评论 -
Unity & Android 交互
Unity ---> Android:AndroidJavaClass, AndroidJavaObjectAndroid ---> Unity:UnityPlayer.UnitySendMessage("GameObjectName1", "MethodName1", "Message to send");Todo原创 2021-06-28 14:34:36 · 320 阅读 · 2 评论 -
使用android工程签名文件为app签名
1、openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.key2、openssl pkcs12 -export -in platform.x509.pem -inkey platform.key -name platform -out platform.pem -password pass:android3、keytool -importkeystore -srckeystore platform.jks -dest原创 2021-03-09 16:29:39 · 155 阅读 · 0 评论 -
App隐私政策网址(URL)
本软件尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。但本软件将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。1.适用范围a)在您使用本软件网络服务,本软件自动接收并记录的您的手机原创 2020-10-23 14:56:03 · 895 阅读 · 1 评论 -
Android Binder机制
本博客将讲解本地服务的注册过程,为了方便大家更好地理解,选择了MediaPlayer Service作为例子。启动并注册MediaPlayer Service的代码在frameworks/base/media/mediaserver/main_mediaserver.cpp中,如下:main_mediaserver.cpp12345678910转载 2017-06-14 11:02:12 · 343 阅读 · 0 评论 -
linux kernel_init
Kernel:asmlinkage __visible void __init start_kernel(void){ .... trap_init(); sched_init(); rest_init();}static noinline void __init_refok rest_init(void){ kernel_thread(kerne原创 2017-07-13 13:46:52 · 542 阅读 · 0 评论 -
Android 平台 Binder 机制 简介
Binder : android 平台的一种IPC机制,在kernel中封装消息规则,在用户空间提供接口对消息规则进一步封装,已达到IPC通信的目的。 Android 平台中的基本组件,Activity,Service,BroadcastReceiver,ContentProvider,都是基于Binder进行IPC通讯。下面以ContentProvider为例进行说明Binder的通信机制。An原创 2017-06-30 17:54:58 · 393 阅读 · 0 评论 -
Android中的时间自动更新
原文地址:http://blog.csdn.net/lindir/article/details/7973700最近几天,一直纠结于android的时间的自动更新,先简要说下android自己原有的更新机制,android原有的更新机制很简单,是采用NITZ(Network identity and Time Zone)的方式更新的,这应该是一种运营商的可选服务,简单的来说,就转载 2012-11-01 14:53:32 · 3891 阅读 · 0 评论 -
linux 添加misc 字符设备
用户空间:#include #include #include #include #include #include #include #include static int open_driver(){ int fd = open("/dev/xyf", O_RDWR | O_CLOEXEC); printf("open_driver fd=%d \n",原创 2017-07-04 13:03:46 · 1681 阅读 · 0 评论 -
Android Binder 驱动分析
目录(?)[-]引言面向对象的 Binder IPCBinder 通信模型1 Binder 驱动2 ServiceManager 与实名Binder3 Client 获得实名Binder的引用4 匿名 BinderBinder 协议1 BINDER_WRITE_READ 之写操作2 BINDER_WRITE_READ 从Binder读出数据3 struct binder转载 2017-06-14 12:56:21 · 420 阅读 · 0 评论 -
Android中的Watchdog
由于Android的SystemServer内有一票重要Service,所以在进程内有一个软件实现的Watchdog机制,用于监视SystemServer中各Service是否正常工作。如果超过一定时间(默认30秒),就dump现场便于分析,再超时(默认60秒)就重启SystemServer保证系统可用性。同时logcat中会打印类似下面信息:W Watchdog: *** WATCHDO转载 2017-07-21 17:00:25 · 1529 阅读 · 0 评论 -
Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
Android显示之图层合成要点1.图层合成指综合各个窗口的绘制内容,送往LCD显示的过程。从原理上可分为在线合成与离线合成两种方式。 2.在Android的SurfaceFlinger代码流程中,图层合成方式分3D合成(OpenGL)和硬件合成两大类。 3.图形系统采用垂直同步Vsync机制,由LCD上报vsync,触发图层合成。图层合成的原理什么是图层合成以Andr转载 2018-01-25 14:38:23 · 1525 阅读 · 0 评论 -
带你了解源码中的 ThreadLocal
https://www.cnblogs.com/dasusu/p/9340475.html转载 2018-09-07 10:54:00 · 116 阅读 · 0 评论 -
android进程间传递文件描述符原理
在linux中,进程打开一个文件,返回一个整数的文件描述符,然后就可以在这个文件描述符上对该文件进行操作。那么文件描述符和文件到底是什么关系?进程使用的是虚拟地址,不同进程间是地址隔离的,如何在两个进程中传递文件描述符,然后指向同一文件(binder传递文件描述符)?linux打开文件过程下图是linux内核中打开文件的结构体之间的关系图(只是大概,细节可以参考各种内核书籍):内核...转载 2018-09-13 17:01:17 · 1222 阅读 · 0 评论 -
深入分析Android Binder 驱动
Binder通信是基于Service和Client的,所有需要IBinder通信的进程都必须创建一个IBinder接口。系统使用一个名为ServiceManager的收获进程管理着系统中的各个服务,它负责监听是否有其他程序向其发送请求,如果有请求就响应,如果没有,则继续监听等待。每个服务都要在ServiceManager中注册,而请求服务的客户端则向ServiceManager请求服务。在Andr转载 2017-06-07 17:53:22 · 344 阅读 · 0 评论 -
更新 Android 5.x (Lollipop) 之后的 framework/services.jar
先记录一下,https://github.com/liudongmiao/ForceStopGB/blob/master/aosp/readme-5.0-z... 里的方法似乎是能用的,但目前还没有达到我原设的需求1. 下载 smali 和 baksmali,https://bitbucket.org/JesusFreke/smali/downloads 这个里面的应该都能在 Java转载 2016-07-26 16:44:09 · 2881 阅读 · 0 评论 -
关于android:scrollbarStyle属性
http://blog.csdn.net/duanyipeng/article/details/8591575[html] view plaincopyLinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_widt转载 2013-07-02 16:32:38 · 935 阅读 · 0 评论 -
Andriod中Style/Theme原理以及Activity界面文件选取过程浅析
原文地址:http://blog.csdn.net/qinjuning/article/details/8829877 通过对前面的一篇博文从setContentView()谈起>的学习,我们掌握了Activity组件布局文件地创建过程以及 其顶层控件DecorView,今天我们继续庖丁解牛---深入到其中的generateLayout()方法,步步为营掌握一下内容:转载 2013-05-14 10:29:18 · 3062 阅读 · 0 评论 -
Android SQLite 事务处理
应用程序初始化时需要批量的向sqlite中插入大量数据,单独的使用for+Insert方法导致应用响应缓慢,因为 sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。而且不能保证所有数据都能同时插入。(有可能部分插入成功,另外一部分失败,后续还得删除。太麻烦)解决方法:添加事务处理,把转载 2013-04-10 11:18:48 · 556 阅读 · 0 评论 -
Android之EditText只能输入数字或自定义字符
如何设置EditText,使得只能输入数字或者某些字母呢?一、设置EditText,只输入数字:方法1:直接生成DigitsKeyListener对象就可以了。et_1.setKeyListener(new DigisKeyListener(false,true));方法2:在EditText中设置属性,android:numeric="integer"即只能输入整转载 2013-03-08 19:01:27 · 1913 阅读 · 0 评论 -
Android提高第九篇之SQLite分页表格
原文地址 http://blog.csdn.net/hellogv/article/details/6019301本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次讲的Android上的SQLite分页读取,只用文本框显示数据而已,这次就讲得更加深入些,实现并封装一个SQL分页表格控件,不仅支持分页还是以表格的形式转载 2013-03-06 13:52:03 · 594 阅读 · 0 评论 -
ANDROID2.3 Launcher源码分析-MVC
原文地址:http://blog.csdn.net/shareviews/article/details/7902520Launcher从总体架构上来看采用了MVC模式。其中Launcher.java为控制器,LauncherModel为模型;XML界面配置文件为视图,其中Workspace为视图容器。模型中操作数据库模型,保持数据模型和数据库的一致。控制器同步视图和模型,视图和模型之转载 2013-01-06 19:14:48 · 1093 阅读 · 0 评论 -
android JNI 调用
JNI是Java Native Interface的缩写,译为Java本地接口。它允许Java代码和其他语言编写的代码进行交互。在android中提供JNI的方式,让Java程 序可以调用C语言程序。android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中。 主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这转载 2012-11-18 17:44:33 · 563 阅读 · 0 评论 -
android系统启动时属性(getprop得到的属性)写入过程
原文地址:http://blog.csdn.net/v1liuzhenkun/article/details/6060454在init.c文件main函数中会调用start_property_service(),而它分别调用load_properties_from_file函数读取PROP_PATH_SYSTEM_BUILD(/system/build.prop)、PROP_PATH_SY转载 2012-11-15 18:07:17 · 1339 阅读 · 0 评论 -
Android Matrix理论与应用详解
Matrix学习——基础知识以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平移量为转载 2012-10-10 11:05:49 · 640 阅读 · 0 评论 -
Android Matrix理论与应用详解
Matrix学习——基础知识以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。首先给大家举个简单的例子:现设点P0(x0, y0)进行平移后,移到P(x,y),其中x方向的平移量为转载 2012-10-09 11:47:49 · 674 阅读 · 0 评论 -
Android Canvas Layers
Canvas 在一般的情况下可以看作是一张画布,所有的绘图操作如drawBitmap, drawCircle都发生在这张画布上,这张画板还定义了一些属性比如Matrix,颜色等等。但是如果需要实现一些相对复杂的绘图操作,比如多层动画,地图(地图可以有多个地图层叠加而成,比如:政区层,道路层,兴趣点层)。Canvas提供了图层(Layer)支持,缺省情况可以看作是只有一个图层转载 2012-10-06 15:08:29 · 4815 阅读 · 1 评论 -
Android 中的 Service 总结
转载地址:http://www.cnblogs.com/newcj/archive/2011/05/30/2061370.html1、Service的种类 按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定转载 2012-09-06 09:09:43 · 474 阅读 · 0 评论 -
Android转屏时禁止调用onCreate
Android转屏时禁止调用onCreateAndroid设备屏幕自动横竖旋转时,每次都会重新调用onCreate函数进行初始化操作,如果遇到加载数据量稍微大点的时候就需要等待很长时间,用户体验较差,其实可以通过配置AndroidManifest文件来改变程序的执行流程,从而避免旋屏时onCreate函数的多次调用。< activity android:name="MyActivity"转载 2012-08-29 15:03:28 · 1045 阅读 · 0 评论 -
Android异步消息处理
1. 异步消息线程异步消息线程不同一般线程的是,它的线程run方法有一个无限循环,没循环一次,从其内部的消息队列中取出一个消息并调用回调函数进行处理。如果消息队列为空,线程暂停,直到消息队列中有新的消息。 一般而言有两种需求需要用到异步线程处理:(1) 任务需要常驻(2) 任务需要根据外部传递的消息做出不同的操作 2. Android转载 2012-08-13 09:27:58 · 700 阅读 · 0 评论 -
Tab控件源码剖析
转载地址:http://chirs1012f.iteye.com/blog/939322一、Tab初印象 看图中画的框和椭圆,并对照着右边的文字说明,尽量看懂图中的包含关系。 二、Tab相关类的介绍及它们之间的关系 在这一小节里,继续以图解的方式针对上一节中描述的包含关系和Tab构建过程进行阐述。 1.转载 2012-07-24 10:22:47 · 511 阅读 · 0 评论 -
android listview 取消头部分割线
listview分割线会在头部、数据item、及根部的底部打印,如果要取消头部分割线必须先设置期方法 addHeaderView(headView, null, true); addFooterView(footView, null, true);注意:第三个参数必须为true,否则无效 //显示头部出现分割线listview.setHeade转载 2013-10-31 11:09:32 · 11083 阅读 · 9 评论 -
Android 设计模式 之 单例模式
设计模式中,最简单不过的就是单例模式。先看看单例模式原文:http://www.iteye.com/topic/575052Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double转载 2013-12-24 17:27:26 · 603 阅读 · 0 评论 -
Android Application 对象介绍
What is ApplicationApplication和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Applicatio转载 2014-01-11 14:55:23 · 682 阅读 · 0 评论 -
Android之Input子系统事件分发流程
From : http://blog.csdn.net/tankai19880619/article/details/17019085一、Android4.2系统服务侧——与View关系1.服务端channel注册过程frameworks/base/core/java/android/view/ViewRootImpl.java[cpp] view转载 2014-12-08 14:53:34 · 1792 阅读 · 0 评论 -
startActivityForResult和setResult详解
startActivityForResult与startActivity的不同之处在于:1、startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。2、startActivityForResult( ) 可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activ转载 2014-12-16 19:23:24 · 509 阅读 · 0 评论 -
xUtils框架的介绍
我要为大家推荐的是一个Android基于快速开发的一个框架——xUtils,它是在aFinal基础上进行重构和扩展的框架,相比aFinal有很大的改善。同时,如果如果你的应用是基于网络的,那么只要处理得当,它会让你彻底的摆脱各种工具类和重复代码的困扰。好的,废话不多说,程序猿们还是代码说起。 xUtils 包含了很多实用的android工具。xUtils 源于Afinal框架,对Af转载 2014-08-04 09:21:14 · 2796 阅读 · 0 评论