自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android Studio 常见问题解决

控制台中文乱码Unsupported Java. Your build is currently configured to use Java 17.0.9 and Gradle 6.7.1.android studiogit没有显示Local Changes界面

2024-04-15 14:35:45 237 1

原创 AES128加密算法(java版)

【代码】AES128加密算法(java版)

2023-11-16 09:28:11 507

原创 PackageManagerService中的方法名中的LI、LIF、LPw、LPr的含义

要想弄明白方法名中的LI、LIF、LPw、LPr的含义,需要先了解PackageManagerService内部使用的两个锁。因为LI、LIF、LPw、LPr中的L,指的是Lock,而后面跟的I和P指的是两个锁,I表示。LPw、LPr中的w表示writing,r表示reading。同步锁是细粒度的锁,只能短时间持有这个锁,因为争抢。同步锁,是指安装App的时候,对安装的处理要用。锁,可以让其他请求等待的时间短些。同步锁的时候,千万不要再请求。锁的请求很多,短时间持有。同步锁的时候,可以去请求。

2023-09-02 14:10:18 237

原创 Java 版本对应的特定 Java 类文件版本号

Java 版本对应的特定 Java 类文件版本号JDK 19 18 17 JDK 8 52

2023-07-29 16:02:58 1339

原创 Android Activity启动模式

LaunchMode(启动模式)

2023-03-15 19:16:36 496 1

原创 查询电脑开关机时间

1、 点击【 win】+【R】键,打开运行窗口输入【eventvwr.msc】点击确定 点击确定。2、 打开【事件查看器】 -【Windows日志】 -【系统】,就可以看到开机 (当天第一个事 (当天第一个事 (当天第一个事 件运行时间)关机 (当天最后一个事件运行时间) 睡眠的时间了。...

2022-08-03 10:24:41 6872 1

原创 LowMemoryKiller 的使用

android 所有应用adj的获取方法

2022-07-12 14:55:06 818 2

原创 Android内存管理

前言 内存优化一直是 Android 开发中的一个非常重要的话题,他直接影响着我们 app 的性能表现。但这个话题涉及到的内容很广且都偏向底层,让很多开发者望而却步。同时,内存优化更加偏向于“经验知识”,需要在实际项目中去应用来学习。因而本文并不想深入到底层去讲内存优化的原理,而是着眼于宏观,聊聊 android 是如何分配和管理内存、在内存不足的时候系统会如何处理以及会对用户造成什么样的影响。Android 应用基于 JVM 语言进行开发,虽然 google 根据移动设备特点开发了自家的虚..

2022-05-07 14:30:21 995

原创 android DMA buffer查看

执行 adb shell cat /sys/kernel/debug/dma_buf/dmaprocs |grep size会打印出如下信息,如com.app.systemapp (PID 23220) size: 11704 com.android.systemui (PID 1275) size: 8172com.app.systemapp (PID 23220) size: 1170411704为 11.704M

2022-05-06 10:48:31 1521

原创 Android Looper和Handler

Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。MessageQueue:消息队列,用来存放Handler发送过来的消息,并按照FIFO规则执行。当然,存放Message并非实际意义的保存,而是将Message以链表的方式串联起

2022-02-12 15:29:14 180

原创 android 启动app event log

Time pid TAG Messag 01:20:33.418 951 wm_stack_created 22 01:20:33.421 951 wm_task_created [78,22] 01:20:33.422 951 wm_task_moved [78,0,2147483647] 01:20:33.423 951 am_focused_stack [0,22,0,reuseOrNewTa..

2022-02-09 17:04:59 2384

原创 APK体积优化

1.图片优化仅支持特定密度:图片资源仅保留mdpi或drawable-nodpi png、jpg转成webp推荐使用有损75%,视情况而定;2.Json文件压缩使用工具对json文件压缩;主要是删除空格和制表符等;对于大的json文件效果比较明显,几百kb的文件可以压缩为几十kb可使用在线json压缩工具3.去除无用的语言资源可只保留中文语言包android{defaultConfig{resConfigs...

2021-11-23 17:50:38 2313 1

原创 电脑钉钉颜色自定义

D:\Program Files (x86)\DingDing\main\current\uiresources\new\common\layout\mainframe\chatbase.xml<VBox name="chatinputvbox" sepheight="-3" sepimm="false" height="220" minheight="108" maxheight="320" inset="0,2,0,0" bordersmooth="true" bkcolor="#44C7..

2021-10-28 14:48:48 646

原创 adb 查看android activity 任务栈 /查看window层次

adb shell dumpsys activity activities |grep -E "Task id|Hist #|* TaskRecord"

2021-09-22 14:35:38 1704

原创 android9.0以上,framewrok.jar push到system/framework不起作用解决方案

android9.0 framewrok.jar push到system/framework不起作用,解决方式:adb push out/target/product/xxx/system/framework/boot-framework.vdex /system/framework/adb push out/target/product/xxx/system/framework/arm/boot-framework.art /system/framework/armadb push ou..

2021-09-16 17:37:49 671

原创 ServiceManager addService流程(源码修改版)

step1 创建aidl文件在源码frameworks/base/core/java/android/os/ 下面新增 一个ICCCService.aidl假设我们定义了5个函数,这些函数将会在SystemServer进程执行。内容如下// ICCCService.aidlpackage android.os;// Declare any non-default types here with import statementsinterface ICCCService ..

2021-09-02 09:15:50 836 1

原创 Android 系统定制常用方案

1.sdcard预留空间防止空间满系统无法启动(Android 9.0)

2021-06-17 09:31:27 1505

原创 bat 脚本 整理

@echo offset file=%~n1%~x1::set dirName=%file:~0,18%for /f "tokens=1 delims=." %%a in ("%file%") do set dirName=%%amkdir %dirName%start "D:\Program Files\Git\git-bash.exe" tar zxvf %file% -C ./%dirName%/

2021-06-16 13:52:22 270

原创 Android 远程调试 STF搭建

# 启动rethinkdb数据库$ sudo docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090# 启动adb$ sudo docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host so.

2021-06-04 10:19:16 305

原创 Docker安装Portainer镜像- Docker 可视化界面

Docker安装Portainer镜像查询Portainer镜像

2021-06-04 10:04:55 755

原创 Linux 压缩解压命令

解包:ar p AAA.deb data.tar.gz | tar zxf -压缩:tar jcvf AAA.tar.bz2 DirName。压缩:tar zcvf AAA.tar.gz DirName。压缩:tar Zcvf AAA.tar.Z DirName。压缩:tar cvf AAA.tar DirName。解压:tar jxvf AAA.tar.bz2。解压:tar zxvf AAA.tar.gz。解压:tar jxvf AAA.tar.bz。解压:tar Zxvf AAA.tar.Z。

2021-05-29 15:14:41 104 1

原创 Linux 每天定时关机 设置

sudogedit etc/crontab输入密码后,在该文件插入一行50 02 * * * root /sbin/shutdown -h now保存后,系统会在每天02:50自动关机

2021-05-11 10:48:54 2828

转载 Java中Synchronized的用法

synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象是这个类的所有对象。

2021-03-27 17:26:46 69

原创 java中Map遍历的四种方式

在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历。方法一:在for循环中使用entries实现Map的遍历:/*** 最常见也是大多数情况下用的最多的,一般在键值对都需要使用 */Map <String,String>map = new HashMap<String,String>();map.put("熊大", "棕色");map.pu

2021-03-14 22:22:14 374

原创 android 打开adb 调试

1.开发者模式中弹框“一律允许使用这台计算机进行调试”此弹框为Activity,所要打开的Activity为:/frameworks/base/core/res/res/values/config.xml <string name="config_customAdbPublicKeyConfirmationComponent" >com.android.systemui/com.android.systemui.usb.UsbDebuggingAc..

2021-01-23 16:01:27 1017

原创 Android RescueParty

在 Android 8.0 中,救援程序默认处于启用状态,其实现位于/services/core/java/com/android/server/RescueParty.java中。 在出现以下情况时,救援程序会收到有关启动和崩溃事件的信息,然后即会启动:system_server 在 5 分钟内重启 5 次以上。 永久性系统应用在 30 秒内崩溃 5 次以上。当检测到上述某种情况时,救援程序会将其上报给下一救援级别、处理与该级别相关联的任务,并让设备继续运行,看看能否恢复。清除或重置内容的程度..

2021-01-05 13:25:41 325

原创 Android rc 文件的使用

应用中添加使用rc0.在Android.mk同目录下新建文件haha.sh (文件名任意),执行shell操作,以下简单举例#!/bin/shrm -rf /system/etc/xxx1. 在Android.mk同目录下新建文件test.rc (文件名任意)含义:当设置系统属性persist.vendor.test.haha=2时,启动服务,执行shell脚本on property:persist.vendor.test.haha=2 start haha-sh...

2020-12-25 09:47:49 7891

原创 android shell查看文件系统大小,磁盘使用情况 df du

Androidadbshell中执行df查看文件系统的磁盘空间占用情况df或者df -h或者df -H其中 -h Human readable output (K=1024) -H Human readable output (k=1000)generic_x86_64:/system # df -HFilesystem Size Used Avail Use% Mounted on/dev/...

2020-12-18 13:35:38 7684

原创 Android 给应用添加默认权限

修改文件夹权限和所在组init.rc中on post-fs-data 时添加on post-fs-data symlink /mnt/vendor/test /mnt/test chown system system /mnt/test chmod 0775 /mnt/test给app添加默认权限1. product 的mk文件中添加PRODUCT_COPY_FILES += \/config/permission/default_permission_

2020-12-16 14:25:36 1919

原创 Android AOA链接(accessory & host)

目录AOA连接两台Android 设备1. 配件端(手机)1.1AndroidManifest 要求1.2 与配件通信1.3 终止通信2. 主机端(车机)2.1 API 概述2.2 AndroidManifest 要求2.3 启动Android设备(手机端)配件模式2.4 枚举设备2.5 获取与设备进行通信的权限2.6 与设备通信2.7 终止与设备通信3. 参考链接:AOA连接两台Android 设备Android 开放配件 (AOA) 支持功

2020-12-16 14:11:53 2933 2

原创 Android 蓝牙BLE扫描

1.声明蓝牙权限和定位权限<!--蓝牙权限--><uses-permission android:name="android.permission.BLUETOOTH"/><uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/><!-- LE Beacons位置相关权限--><uses-permission android:name="android.permiss

2020-12-16 13:48:22 2839 1

原创 AIDL 参数 in out inout区别

以客户端传递Person对象为例; 假设Person只包含一个String类型 name字段addPerson(in Person person) addPerson(out Person person) addPerson(inout Person person)区别:AIDL中的定向 tag 表示了在跨进程通信中数据的流向,其中 in 表示数据只能由客户端流向服务端, out 表示数据只能由服务端流向客户端,而 inout 则表示数据可在服务端与客户端之间双向流通如person对象传递到

2020-12-16 13:38:55 309

原创 android Selinux 之 platform_app,system_app,priv_app,untrusted_app

概念:平台签名:Android.mk中,定义LOCAL_CERTIFICATE := platformsystem权限:AndroidManifest.xml中声明 android:sharedUserId="android.uid.system" ,同时是平台签名分类:untrusted_app 第三方app,没有Android平台签名,没有system权限 platform_app 有android平台签名,没有system权限 system_app 有android平台签...

2020-12-15 09:50:06 5968 3

原创 Car-创建车机模拟器

1. SDK和模拟器准备Android SDK下载 Android P (28), 并将模拟器升级到最新(可以模拟更多的汽车数据)2. system image 准备源码全编生成编译产物,源码服务器目录 \android_org\out\target\product\generic_x86_64选择指定文件替换本地SDK中的image。我压缩备份了需要的文件,做了共享 车机模拟器image文件.7z, 解压替换本地SDK浏览器输入 file://BDJS-PF1LN39B/share或者文

2020-12-04 09:33:33 3525 2

原创 Android 常用adb 命令

adb command基本用法命令语法为命令指定目标设备启动/停止查看 adb 版本以 root 权限运行 adbd指定 adb server 的网络端口设备连接管理查询已连接设备/模拟器USB 连接无线连接(需要借助 USB 线)无线连接(无需借助 USB 线)应用管理查看应用列表所有应用系统应用第三方应用包名包含某字符串的应用安装 APK卸载应用清除应用数据与缓存查看前台 Activity查看正在运行的 Services查看应用详细信

2020-12-01 14:06:06 686

原创 Win10 文件夹以及文件夹内右键打开命令提示符

在windows 10中,文件夹以及文件夹内右键打开命令提示符方法如下新建文件,命名随意,为方便记忆,如 文件夹和文件夹内右键打开命令提示符.reg用文本方法打开文件输入以下内容保存双击执行该文件,确定添加该方式(可能会有提醒,放心执行,安全无公害~~)这样就可以在文件夹右键试试啦,是不是多了打开命令提示符窗口命令~Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\Directory\Background\shell\..

2020-11-30 11:09:39 852

原创 Android Selinux介绍,如何添加selinux 权限

文件类:type=1400 audit(0.0:104avc: denied { search } for name="vendor" dev="tmpfs" ino=9241 scontext=u:r:dumpstate:s0 tcontext=u:object_r:mnt_vendor_file:s0 tclass=dir permissive=0分析:缺少的权限:{write/read/search} 谁缺少权限:scontext=u:r:dumpstate:s0 哪个文件的权限:t.

2020-11-14 17:46:05 8283 1

原创 Android 编译之android.mk

1. android系统源码的编译流程来回顾一下常见的编译步骤:source build/envsetup.shlunch xxxmake -j8 2>&1 | tee build.log这三步究竟做了什么呢?我们来逐步分析一下。1.1 source build/envsetup.shbuild/envsetup.sh这个文件中定义了一些变量和函数,执行source build/envsetup.sh之后,envsetup.sh中的变量成了全局变量,而其中的函数也可以直接在

2020-11-04 15:27:47 2228

原创 Android 生成系统签名文件,并用系统签名文件给apk签名

1. \build\make\target\product\security 源码路径下取得文件platform.pk8 platform.x509.pem2.写以下bat脚本文件,与上述两个文件放在同目录下,执行脚本文件@echo offecho 开始执行!openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pemecho 生成 platform.pemopenssl pkcs12 -expor...

2020-10-28 19:30:51 1439 1

原创 Beyond Compare 4 评估期已结束解决方案

若出现30天评估期已结束的提醒;无需输入密钥,直接在命令提示符输入reg delete "HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4" /v CacheID /f然后直接就可以使用

2020-09-23 09:43:42 816 3

oracle教案

详细的oracle教程,各种oracle数据库访问语句,便于入门

2011-12-21

计算机组成原理考试题

计算机组成原理试题 哈工大威海 8套题加答案 唐朔飞

2010-10-19

数据结构 ppt 课件

数据结构ppt,超详细的讲解,动态演示过程,分章节讲解

2010-10-19

c#课件,入门 基础

c#课件,入门基础,详细讲述具体操作,并举例子说明

2010-10-18

c语言文件操作入门教程

最全的c语言文件操作知识,含12个Word文档和一个文本文档,经常时间搜索积累合成的最优资源

2009-12-11

空空如也

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

TA关注的人

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