自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (2)
  • 收藏
  • 关注

原创 Settings中动态插入菜单

Android设备中,很多应用需要增加在Settings中增加菜单,作为应用的入口。此时可以仿照google GMS包的应用,采用动态加载的方式。这种方法不需要修改Settings中代码,修改应用本身的AndroidManifest.xml文件就行,实现解耦并自动适配。

2023-05-30 09:45:40 386

原创 PreferenceFragmentCompat源码分析

PreferenceFragmentCompat源码分析

2023-05-11 16:08:32 382

原创 Preference源码分析

Preference源码分析

2023-05-08 16:23:28 726 1

原创 Android确认apk签名、给apk签名方法

1、确认apk签名方法:jarsigner -verify -verbose -certs ${your_apk}>log.txt2、给apk签名:java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 test.apk test_signed.apkps:platform.x509

2022-06-07 11:00:46 826

原创 如何启动前台服务

Android 8.0 有一项复杂功能;系统不允许后台应用创建后台服务。 因此,Android 8.0 引入了一种全新的方法,即 Context.startForegroundService(),以在前台启动新服务。1、<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />2、Intent mIntent = new Intent(this,XXXService.class);if(Bu

2022-04-19 15:26:23 490

原创 Gradle是什么

以下总结作为本人学习笔记使用:Gradle是一个开源的自动构建工具,可以作为android studio工程的依赖管理和打包工具,包括三方库和jar包的依赖和链接, java和res等资源的编译和打包1、在gradle之前,android的构建工具是ant,之前eclipse用的就是ant2、gradle脚本不使用传统的xml文件,而是一种基于Groovy的动态DSL,而Groovy语言是一种基于jvm的动态语言,可以像写脚本一样去写项目构建规则3、Android Gradle Plugin

2022-04-19 14:35:23 9987

原创 android V2签名三方app预置方法

V2签名apk预置到android系统中,编译后会出现无法对齐,无法运行的问题。可以采用拷贝的方式将apk和库文件预置到系统中。Android.mk写法如下:LOCAL_PATH:= $(call my-dir)preinstall_apks := $(notdir $(shell find $(LOCAL_PATH) -name *.apk))$(warning "the value of preinstall_apks is $(preinstall_apks)")preinstall_

2022-03-25 09:27:27 3207

原创 View事件分发

dispatchTouchEvent() onInterceptTouchEvent() onTouchEvent()dispatchTouchEvent()该方法是用来处理事件的分发。如果事件能够传递到当前View,那么一定会调用此方法源码:public boolean dispatchTouchEvent(Motion e){ ...

2020-02-18 11:16:54 110

原创 Android Q MTK平台开关机动画和开关机铃声

Google default关机流程只显示进度条,不会播放关机动画。如需自定义开关机动画,需要使用mtkbootanmiation进行客制化。google默认开机动画代码在framework/base/cmds/bootanimationMTK开机动画代码在vendor/mediatek/proprietary/operator/framework/bootanimation/MtkBoo...

2019-11-21 15:43:05 2968

原创 JIT AOT Davlik ART

一、JIT 是just In time compile的缩写,就是“即时编译技术”,用于Davlik虚拟机AOT "Ahead of Time"的缩写,提前编译,运行前编译,一般在安装时就将字节码翻译成机器码dalvik这个大家肯定很熟悉 Dalvik是Google公司设计用于Android平台的Java虚拟机 ,使用dex,odex(优化后)Art是(Android runt...

2019-10-22 11:00:37 236

原创 锁屏界面增加提示

锁屏界面布局文件为keyguard_bottom_area.xml./res/layout/status_bar_expanded.xml:82: layout="@layout/keyguard_bottom_area"./res/layout/super_status_bar.xml:64: <include layout="@layout/status_ba...

2019-08-17 14:22:01 501

原创 Android通信相关-联系人-导入导出联系人

对于Android手机来说,通信是一大块功能。APP层包括联系人、短信、拨号、InCallUI。framework层包括Telephony、Telecom、PhoneGlobal、RIL等,底层又涉及到通信模块,AT命令等,几大功能互相独立却又缠绕在一起,想要了解透彻非常复杂。希望再接下来半年时间内能把这一块吃透当然要吧整体的流程和架构了解清楚,但是想要做这一领域的专家,光这些还不够,关注...

2019-08-17 14:05:09 1565

原创 Android P 系统应用无法对外置SD卡进行读写

1、frameworks/base/data/etc/platform.xml <permission name="android.permission.WRITE_MEDIA_STORAGE" >- <group gid="media_rw" />+ <group gid="media_rw" />+ ...

2019-08-17 14:02:45 1953

原创 adb unauthorized

使用adb连接手机时,即使打开了usb调试,手机添加了信任,仍然出现unauthorized的提示C:\Users\xxx\.android里面删掉adbkey和adbkey.pub两个文件,然后重新插拔手机执行:adb kill-serveradb start-server...

2019-08-13 11:13:17 685

原创 关于Android进程间通信的理解

一、一般认为Android进程间通信方式有四种,其实就是四大组件的进程间通信方式。这种网上将得非常清楚了:如一下文章https://blog.csdn.net/baidu_29094221/article/details/78852998只贴简单内容在这里由于应用程序之间不能共享内存。在不同应用程序之间交互数据(跨进程通讯),在Android SDK中提供了4种用于跨进程通讯的方式...

2019-06-20 10:23:46 138

原创 将Android源码导入Android Studio进行调试

做系统开发的,比如手机,平板,需要编译修改源码。做源码开发,不像开发纯app,调试起来有些麻烦,但还是可以实现的,可以将整个源码导入AS,实现打断点调试我这边使用的是Android Studio 2.3要调试的源码是Android9.0因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.v...

2019-05-13 11:17:20 3436

原创 如何将Android Studio下开发的app放到系统源码中编译

将app文件夹拷贝到packages/apps/ 下面同目录增加Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional#导入对应代码LOCAL_SRC_FILES := $(call all-java-files-under,app/src...

2019-04-24 18:03:14 2595

原创 Java IO流架构图

2019-03-01 10:56:50 444

原创 Java final详解

1、final修饰类final修饰类,该类不能被继承,该类成员变量可以根据需要用final修饰,该类成员方法默认都被隐式设为final。工具类String就被设计成final类2、final修饰方法1)一个类的private方法会被隐式设为final2)父类的final方法不可以被子类重写3、final修饰成员变量1)变量必须被赋初始值,且只能赋值一次2)可以直接赋值,...

2019-02-14 16:43:45 407

原创 Java类成员初始化顺序

代码测试示例:package com.st;public class StaticTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub A b = new B()...

2019-02-14 15:25:42 350 1

原创 Java集合容器笔记

一、在编程中,常常需要保存多个同类数据,这个时候可以使用数组。使用数组必须提前知道数组的长度,一旦固定就不能改变。不过当数据长度不确定时,就不能使用数组,这个时候可以使用集合集合主要分为Collection和Map1、Collection:一组“对立的元素”,通常这些元素都服从特定的规则1)List必须保持元素特定的顺序2)Set必须为不重复的元素,是否重复主要根据equals...

2019-02-14 14:40:46 102

转载 Runtime笔记

每个Java应用程序都有一个类Runtime实例,它允许应用程序与运行应用程序的环境进行交互。 可以从getRuntime方法获得当前运行时 常用方法 获取当前Jvm的内存信息 /* * 获取当前jvm的内存信息,返回的值是 字节为单位 * */public static void getFreeMemory() { //获取可用内存 long val...

2019-02-13 18:24:34 133

转载 System使用学习笔记

   System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。    由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员方法和成员变量都是static(静态)的,所以也可以很方便的调用他。    system中包含了in、out和err三个成员变量,分别代表标准输入流(键盘输入)、标准输出流(显示器)...

2019-02-13 17:55:40 244

原创 String基础

String为字符串常量,是Java中一个重要的工具类一、两种创建方式1、String str1 = “Hello”;在字符串中,如果采用直接赋值的方式(String str="Lance")进行对象的实例化,则会将匿名对象“Hello”放入对象池,每当下一次对不同的对象进行直接赋值的时候会直接利用池中原有的匿名对象,可以手工入池public class TestString ...

2019-02-13 17:01:20 174

原创 Thread笔记

Thread为Java中线程类Thread属性:优先级,线程组,线程名,Runnable对象,状态一状态:线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)二、上下文切换  对于单核CPU来说(对于...

2019-02-13 11:37:47 217

原创 Object笔记

Object为java最基础的类,所有的类都继承自Object,一般情况下可以忽略不写。Object一共有九大函数一、clone()1、clone和copy的区别:copy或者用一个对象给另一个对象赋值。两者会指向同一个变量。只要修改其中一个对象,则另一个对象也会被修改。clone会创建一个新的变量,只是这个新的变量使用的是同样的值。2、clone必须要implements...

2019-01-29 11:54:53 153

原创 LED节点访问增加selinux权限记录

由于工厂测试是直接读写取呼吸灯的文件节点,测试app没有selinux权限去读写该节点,需要增加selinux权限。该工厂测试模块属于system app,所以对应的要加在system_app.te中MTK FAQ:https://online.mediatek.com/FAQ#/SW/FAQ11486https://online.mediatek.com/FAQ#/SW/F...

2019-01-26 09:30:20 1042

原创 Android原生Settings源码分析

最近要修改Settings相关的东西,就顺便研究下Setings的代码结构,特做个记录 由于修改的是Android4.4的平台,所以以下都是在Android4.4基础上分析的。 1、入口从packages/apps/settings/AndroidManifestxml找到Settings模块的入口:<activity android:name="Settings"

2017-03-23 16:10:57 4383 1

linux-2.6.34.15.tar.gz

Linux内核设计与实现(第三版)中所使用的源码,上传在这里就不用到处找了

2019-08-17

最新busybox工具集

Android默认只有toolbox工具集,调试的时候很多命令不能用,将busybox拷贝到system/bin下,就可以使用busybox命令集了

2017-05-11

空空如也

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

TA关注的人

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