自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Android Messenger 原理分析

一、个人理解使用场景:用于进程间通信,当进程间通信只需要收发消息,没有其他复杂的逻辑的时候。实现原理:AIDL +Handler。内部定义并实现了只有一个接口的AIDL文件(IMessenger.aidl);Handler存在是为了实现反向通信,代替AIDL中定义的回调接口。特点:与AIDL相比,用户无需自己定义AIDL接口,实现进程间双向通信时也无需定义AIDL回调。但Messenger通信接口只有一个。一、原理分析Messenger有两个构造函数:...

2021-04-17 14:46:34 320

原创 Android 5.1 PackageManager.getPackageArchiveInfo 文件句柄泄露

通常我们在Android上检测一个文件是不是APK时会使用下面这种方式:PackageManager pm = mContext.getPackageManager();PackageInfo packageInfo = pm.getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES);if (packageInfo != null) { // 是 APK 文件} else { // 不是 APK 文件}但是近日

2020-08-31 18:57:23 1786

原创 真机烧写 android-r-preview 和 android-r-master 镜像

真机烧写 android-r-preview 和 android-r-master 镜像以下记录了我近期在往真机上烧写自己编译的 android-r-preview 和 android-r-master 镜像 时遇到的问题及解决办法。镜像版本:android-r-preview4 和 android-master真机:pixel 3问题一:烧写官方的 android-r 镜像(dp4或beta1)失败为了先保证手里的 pixel 3 设备能正常烧写、运行 android-r 系统,先下载了官方镜像

2020-07-08 20:21:19 922 6

原创 在线阅读Android系统源码

在线阅读Android系统源码前几日被 android-r DP4 折腾的够呛,无论怎么编译,生成的镜像都在真机上起不来,Google上也没找到解决办法,不过无意中发现了一个谷歌官方出品的在线阅读AOSP源码的网站:Android Code Search从首页可以看出,不仅可以查阅AOSP的代码还可以查看AndroidX的代码,对于想学习Jetpack 源码的同学是个很好的工具。个人简单试用了一下,比起 AndroidXref 不要好太多:1、因为是谷歌出品,所以可以查看到最新的代码,不像And

2020-07-06 11:00:22 783

原创 编译 android-r-preview-4 源码遇到的问题及解决方式

编译 android-r-preview-4 源码遇到的问题及解决方式声明问题一解决方式一解决方式二问题二解决方式问题三解决方式声明以下解决方式参考于 该文章问题一error: external/seccomp-tests/Android.bp:20:13: unrecognized property "arch.mips"error: external/seccomp-tests/Android.bp:23:15: unrecognized property "arch.mips64"erro

2020-06-17 19:57:31 683

原创 python List:按照指定的列表元素片段进行排序

假设有下面这样一个列表:['crawl.txt file_hash: "855c02a09a180343c4d006c1eec8b6b6" suffix: "json" tresult_content: Analysis', 'mrowl.txt file_hash: "43296501e4fa106bca88187450bc92e1" suffix: "json" result_content: http', 'crrky.txt file_hash: "d9b708aca3c79f509d56

2020-05-15 18:25:54 786

原创 一种扩展 AVD internal storage 的方法

>**问题:创建AVD时默认的 internal storage 太小,安装体积较大的APK时会失败**使用下面命令创建AVD时:```AndroidSDKPath/tools/android create avd -n avd_test -k "system-images;android-27;default;x86_64"```其默认的 internal storage 为:```disk.dataPartition.size = 800m```当安装一个体积较大的APK时,

2020-05-14 14:30:01 414

原创 Android 7.0 android.os.NetworkOnMainThreadException

一前同事开发的一检测工具,手机需要通过网络与 PC 进行通信,之前一直用着很好,今天在一 Android 7.0 手机上进行使用的时候,每次必崩。崩溃日志显示  android.os.NetworkOnMainThreadException,查看崩溃处的代码,原来该处的 DataOutputStream.write() 放在了主线程中,因为 Android 在 2.3 之后就不允许在主线程中访

2017-05-24 20:26:30 687

原创 Android Studio 更新第三方.so

问题背景:项目工程中需要引入第三方.so库(暂称为 A.so),并与自己本地的JNI代码一块编译成为一个.so(暂称为 B.so),工程一开始是从配置好的Eclipse工程中导入到Android Studio中的,编译运行都很顺利,后来 A.so 做了更新,于是在AS项目中对其做了替换,问题随之便出现了。遇到的问题:AS工程中替换了最新的A.so库后,clean工程,编译运行,结果还是之前旧

2017-04-07 20:14:46 553

原创 Android 禁用多点触控

两种方式:1、禁用全局多点触控:   在application引用的Theme中添加以下代码:  false  false2、如果要单独对某个界面禁用,则需要的在相应的xml或代码中添加:     android:splitMotionEvents="false" 或     rootLayout.setMotionEventSplittingEnabled(false

2016-07-06 19:13:44 3060 1

原创 Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题

Android系统,用户第一次安装应用在系统的安装器安装完成界面有“完成”和“打开”两个按钮。      当用户点击“打开”按钮并进行了一些操作后,若此时用户点击Home键切出应用到桌面,再从桌面点击应用程序图标试图切回应用接着刚才的操作继续操作时,应用重新到了初始界面,此时之前从系统的安装完成界面点击打开启动的应用其实还在后面运行。      然而当用户“完全退出”应用,或者在安

2016-05-26 19:17:07 1324

转载 好好和h5沟通!几种常见的hybrid通信方式

转自:zjutkz's blog好好和h5沟通!几种常见的hybrid通信方式说起hybrid大家不会陌生,主要意思就是native和h5混合开发。为什么要这样做呢?大家可以想象一下针对于同一个活动,如果使用纯native的开发方式,Android和iOS两边都要维护同一套界面甚至是逻辑,这样开发和维护的成本会很大,而使用hybrid的开发方式的话,让前端的同学去写一套

2016-05-13 14:27:44 1040

转载 Android中EditText的setError文字不显示的问题

转自:http://www.codefrom.com/c/101现象Android系统提供的控件EditText,使用其方法setError时,会出现错误框显示但是文字不显示的问题。原因是系统部分主题的setError文字和背景都是白色,例如系统自带的几个light的theme。解决方法修改主题既然是主题的问题,那我们可以尝试自定义主题并进行适当的修

2016-05-11 19:01:35 432

转载 [Learn Android Studio 汉化教程]第一章 : Android Studio 介绍

转载自:http://ask.android-studio.org/?/question/789This chapter walks you through installing and setting up your development environment so you can follow the examples and labs in this book. First, y

2016-05-09 18:59:23 1626

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除