Android
文章平均质量分 81
kuangren987
这个作者很懒,什么都没留下…
展开
-
android 9.0 adb 应用安装过程
引言最近手上有银联商务招标的需求,涉及到apk的验签策略,梳理一遍adb install的流程。每次看完源码,做完需求,后面就慢慢忘记代码流程了,遂写成博客记录下来。流程图开始写博客,不太会使用Flowchart流程图,从博友那借用了一张。c++到java的流程没看懂,流程图有点对不上android9.x的流程,将就着看吧。出处:https://blog.csdn.net/chishi199433/article/details/103925833(侵权必删)adb inatsll ***.转载 2021-04-29 22:04:19 · 2055 阅读 · 2 评论 -
WiFi之Framework连接过程小结
Platform: RockchipOS: Android 6.0Kernel: 3.10.92onPreferenceTreeClick -> WifiSettings.javapreference.getAccessPoint //获取当前选择的apshowDialog //弹出对话框设置密码onSubmit -> //点击连接后会调用submit ->connect ->//参数是WifiConfiguration类, 表...转载 2021-04-25 17:24:10 · 415 阅读 · 0 评论 -
Android系统开启adb root方案
需求描述将adb root模式默认开启解决方案system/core/adb/daemon/main.cppstatic bool should_drop_privileges() {#if defined(ALLOW_ADBD_ROOT) char value[PROPERTY_VALUE_MAX]; // The properties that affect `adb root` and `adb unroot` are ro.secure and // ro.d...转载 2021-04-15 17:37:18 · 2572 阅读 · 0 评论 -
android prebuild
Android NDK r5 开始支持预编译库(动态库和静态库),即程序能使用库的预编译版本。该特性可用于以下两方面:1)向第三方NDK开发人员发布你的共享库而不用提供源码。2)使用一个提前编译好的库(预编译库)来加速编译过程。本文说明该特性如何工作。I. 声明一个预编译库的模块对于Android编译工具而言,每个预编译库必须声明为一个独立的模块。这里举一个例子,假设 libfoo.so 文件与 Android.mk 位于同一个目录:LOCAL_PATH := $(call my转载 2021-04-15 12:03:24 · 667 阅读 · 0 评论 -
[RK3399][Android7.1] 双屏显示副屏旋转90°patch
Platform: RK3399OS: Android 7.1Kernel: v4.4.83描述:主屏edp+副屏HDMI标准的sdk不会默认有旋转副屏为横屏显示为竖屏的功能,添加如下patch即可实现,但是因为是双屏同显,副屏显示会有画面被压缩的现象。Patch:diff --git a/services/core/java/com/android/server/display/LocalDisplayAdapter.java b/services/core/java/com/an转载 2021-04-14 18:25:21 · 1058 阅读 · 0 评论 -
Android 问题汇总
Android 问题汇总开发中遇到的问题自定义注解反射开发中遇到的问题记录在实际开发中遇到的问题及心得自定义注解反射当使用自定义注解同时使用反射获取属性值时,Field. isAnnotationPresent 判断此属性是否存在注解,如果isAnnotationPresent 方法一直返回false 可以查看下自定义注解中是否添加:@Retention(RetentionPolicy....原创 2020-02-13 17:51:06 · 404 阅读 · 0 评论 -
最全的RxJava使用场景小结
一、Scheduler线程切换这种场景经常会在“后台线程取数据,主线程展示”的模式中看见Observable.just(1, 2, 3, 4) .subscribeOn(Schedulers.io()) // 指定 subscribe() 发生在 IO 线程 .observeOn(AndroidSchedulers.mainThrea...转载 2019-04-04 16:03:30 · 250 阅读 · 0 评论 -
Okhttp Interceptor 问题
在开发过程中使用Okhttp addNetworkInterceptor添加StethoIntrceptor()时,如果使用如下代码var ok =OkHttpClient()ok.networkInterceptors().add(StethoInterceptor())会出现UnsupportedOperationException的错误,必须使用okhttpClict = ...原创 2019-04-02 09:34:12 · 799 阅读 · 0 评论 -
EventBus 原理解析
EventBus介绍: EventBus出自greenrobot,和之前大名鼎鼎的GreenDao出自同一家。今天我们将学习分析Event 3.0,EventBus 3.0 最新的特性就是加入了注解,通过注解的方式 告知订阅函数运行在哪个线程中,是一种发布订阅设计模式(观察者设计模式)。。 github地址:https://github.com/greenrobot/Eve...原创 2019-04-03 18:03:31 · 193 阅读 · 0 评论 -
Kotlin GreenDao
GreenDao 使用:在project 的gradle添加对于GreenDao的引用 classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'//greendao在app gradle添加:apply plugin: 'org.greenrobot.greendao'android {greendao...原创 2019-04-17 10:45:59 · 1173 阅读 · 0 评论 -
Android Launcher 应用的安装、更新、移除介绍
Android Launcher 应用的安装、更新、移除介绍说明实现方法LauncherAppsCompatLauncherAppsCompatV16LauncherAppsCompatVL总结说明当进行Laucher开发时,不可避免的需要对应用的安装、移除、更新等进行处理,此时我们用到了LauncherAppsCompat。由于Android 21前后对于应用更新操作的处理有所不同,所以...原创 2019-05-14 10:56:37 · 3864 阅读 · 0 评论 -
Android NDK 异常 Error:No toolchains found in the NDK toolchains folder for ABI with prefix
记录:Android 3.1.2使用NDK后发现之后发现编辑之前的项目会发现下面的错误:Error:No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android错误原因:是由于本机的NDK下面的toolChain里面缺少 mipsel-linux-android文件夹...原创 2019-05-10 15:39:34 · 2336 阅读 · 0 评论 -
Volley内部原理图
Volley用到的Http协议字段 Date:返回服务器时间,如果想得到服务器的时候,我们可以从这里获取 Cache-Control:为no-cache和no-store:不缓存响应数据,如果需要缓存响应数据,当需要设置缓存时,通过maxAge的值来设置缓存过期的时间。 Must-revalidate和proxy-revalidate:该值为一个boolean值,服务...原创 2019-03-29 17:10:30 · 168 阅读 · 0 评论 -
DataBinding 学习
第一次使用DataBinding1,在build.gradle 里面添加如下代码android {... dataBinding { enabled = true }}2,在layout 新建layout 这里为了方便使用test.xml中使用<layout></layout>标签为root3,在test.xml中添...原创 2019-03-22 17:22:58 · 146 阅读 · 0 评论 -
Android 开机过程
Android的开机到Lancher启动完成的过程推荐博客:https://www.jianshu.com/p/2f95ab717078原创 2019-03-11 11:00:18 · 121 阅读 · 0 评论 -
Android gif 加载方式
Android 加载gif动图的实现 方法原创 2016-10-08 18:16:58 · 329 阅读 · 0 评论 -
BCD,HEX,ASCII编码
BCD码:简称BCD,称BCD码或二-十进制代码,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。Hex 全称 是Intel HEX。Hex文件是由一行行符合Intel HEX文件格式的文本所构成的ASCII文本文件。在Intel HEX文件中,每一行包含一个HEX记录。这些记录原创 2017-08-21 11:52:24 · 4204 阅读 · 0 评论 -
Android AIDL
Android 进程之间的通信有两种方式:1,messenger 方式 2,AIDLmessenger 在处理数据交互时由于是串行数据处理方式,所以当客户端的并发请求过多时,服务端的数据处理很容易堵塞。所以此时需要用到AIDL。下面说下AIDL方式使用时需要注意的事项:AIDL中调用方式跟传递的数据类型为基本类型及ArrayList 列表、序列化对象、包括键值对的Map.AID...原创 2018-08-31 11:49:07 · 552 阅读 · 0 评论 -
Android 杂记
Activity启动过程:Activity通过-ContextImpl ->AMS->Activieservices->handle ->activitythread->handler->activity.oncreate()ContentProvider 创建过程:AcitivityThread-AMS-ApplicationThread -Activit...原创 2018-09-11 14:26:22 · 89 阅读 · 0 评论 -
Android 事件分发机制
Android中事件分发涉及三个主要的方法public boolean dispatchTouchEvent(MotionEvent ev)用来进行事件分发,如果事件能够传递给当前的View ,那么此方法一定会被调用。表示:是否消耗此事件public boolean onInterceptTouchEvent(MotionEvent ev)在上一个方法中调用,判断是否有view来消...原创 2018-09-03 17:32:35 · 96 阅读 · 0 评论 -
关于自定义控件onDraw不执行的问题
对于继承View的自定义控件(下文件叫selfView),放在ScrollView里面或者继承它实现的自定义控件(下文统一叫selfScollView)里面onDraw实现是不会被调用的,selfView控件重写onMeasure方法,在重写的过程当中使用MeasureSpec此类来获取当前控件的高度时一直为零,无论自定义控件是否是指定了layout_heigth的具体值还是warp_contex...原创 2019-02-15 10:17:04 · 900 阅读 · 0 评论 -
一张图看懂Activity 启动过程及启动方式
Activity的起动过程如下: 启动方式如下:原创 2019-01-30 17:25:01 · 245 阅读 · 0 评论 -
android window 与windowManager
下图讲解了Window在调用 windowManager 添加、删除、更新view的内部机制附window 添加button的一个调用代码://window managevar btntxt = Button(this@RemoteActivity)btntxt.text = "windows test"var layoutParams = WindowManager.Layo...原创 2019-02-22 16:37:45 · 208 阅读 · 0 评论 -
Service 生命周期
转载:https://www.cnblogs.com/huihuizhang/p/7623760.html与Activity类似,Service也有自己的生命周期函数,在不同的时刻,系统会调用对应的Service生命周期函数,不过与Activity声明周期相比,Service的声明周期更加简单,我们通过官方给出的一张图片来体会一下:这里我们总结一下:1). 被启动的服务的生命周期:如果...转载 2019-03-01 17:19:15 · 187 阅读 · 0 评论 -
Android 四大组件的启动过程
原创 2019-02-26 16:49:55 · 362 阅读 · 0 评论 -
Spinner 异常
在开发Spinner 中使用ArrayAdapter 时ArrayAdapter.createFromResource(this,R.array.spinneritem,R.layout.spinneritem)过程中spinneritem这个的根目录一定是一个TextView ,否则会报如下错误ArrayAdapter requires the resource ID to be a TextV...原创 2019-03-08 18:16:15 · 262 阅读 · 0 评论 -
解决Android Studio 或eclipse运行时出现Duplicate files copied in APK main/AndroidManifest.xml
用eclipse导出lib工程后在Android Studio中使用发现报错:Duplicate files copied in APK main/AndroidManifest.xml解决办法: 导出lib工程的时候,选择依赖时不要选择AndroidManifest这个文件,然后重新引用。原创 2016-10-28 16:22:59 · 955 阅读 · 0 评论