![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 笔记相关
文章平均质量分 67
cczhengv
android ROM 定制开发
展开
-
Android 10(Q) 以上普通 APP 隐藏应用图标问题探究及解决方案
Android 10(Q) 以上普通 APP 隐藏应用图标问题探究及解决方案原创 2023-12-09 14:46:08 · 3723 阅读 · 1 评论 -
Android 以太网子网掩码长度 bug 修复
前言这个bug说起来还是我自己搞出来的,之前每次版本迁徙都是参考修改记录同步移植以太网这块,所以从一开始就有这个问题。mStaticIpConfiguration.ipAddress = new LinkAddress(InetAddress.getByName(text), 24);每次应用层设置都是固定值 24 ,导致 framework 接收到的就是错误值。正确的做法为根据设置的子网掩码值去计算对应长度。子网掩码长度对照表关于IP地址,子网掩码,子网前缀长度,路由表的的算法介绍可参考这原创 2021-02-18 14:28:30 · 663 阅读 · 0 评论 -
解决 Chrome 预装运行报错 crashing because cannot load libchrome.so
问题描述将 Chrome 预装到 system/app 目录下,打开 Chrome 直接闪退了,直觉告诉我应该是少so库导致的将Chrome直接install上去,再次打开 Chrome 正常进入,将 data/data/ Chrome 目录拷贝出来,找到其中需要的so库错误日志com.android.chrome I/cr_Linker: Using linker: org.chromium.base.library_loader.LegacyLinkercom.android.chr原创 2020-10-06 16:02:54 · 1145 阅读 · 0 评论 -
解决 WebView 报错 Binary XML file line #7 Error inflating class android.webkit.WebView
问题描述在系统进程中使用 WebView 时,会抛出AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes特权进程包括sharedUserId为ROOT_UID和SYSTEM_UID的进程错误日志 Process: com.android.androidx, PID: 5044原创 2020-10-05 15:22:25 · 1411 阅读 · 0 评论 -
Android O/P/Q 版本移植iperf网络性能测试工具
iperf是什么Iperf 是一个网络性能测试工具,是跨平台的,支持Window,linux,android平台的运行和测试,可以为任何网络生成标准化的性能测量。Iperf 可以测试最大 TCP 和 UDP 带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。源代下载地址:https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/iperf/source-archive原创 2020-08-06 12:21:16 · 1867 阅读 · 0 评论 -
【讲清楚,说明白!】使用iperf3监测网络吞吐量
一、iperf3介绍(1.1)iperf3是一个网络带宽测试工具,iperf3可以擦拭TCP和UDP带宽质量。iperf3可以测量最大TCP带宽,具有多种参数和UDP特性,iperf3可以报告带宽、延迟抖动和数据包丢失。利用iperf3这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。(1.2)使用iperf3,你可以调整与时序、缓冲区和协议(如TCP、UDP、SCTP)相关的几个参数。它对网络性能调优操作很方便,为了获得最大或相当改善的网络性能,你需要增加吞吐量以及网络接收个发送功能转载 2020-08-03 15:03:55 · 7425 阅读 · 0 评论 -
解决Android Studio版本大于3.0找不到Android Device Monitor工具
作为一名合格搞机人员,使用布局查看工具Device Monitor能快速定位源码中需要查找的idbut 某一天升级AS后,居然找不到了。这让我还怎么愉快的玩耍结果一查资料,发现从 3.0 版本开始,google 推出新工具 Layout Inspector 替代 Device Monitor,关于 Layout Inspector 这篇介绍比较详细,可参考https://blog.csdn.net/cadi2011/article/details/85212762用了几天后发现真是 bug 百出原创 2020-07-20 10:54:51 · 791 阅读 · 0 评论 -
MTK android 蓝牙版本查看
MTK 平台的BT版本是以 SIG认证为准的,具体可以到SIG官网查询蓝牙分为host 和control, 需要分别过认证,所以有两个DIDHCI log 里看不到qdid,只能看到支持蓝牙4.2 或是蓝牙5.0.QDID 是一个认证,得在SIG官网查:抓一份log方法如下:在MTK log 选择connsys log,Connsys log下面选择BLUETOOTH log, BLUETOOTH LOG下面选择HCI log。然后关闭蓝牙,开启MTK log,再开启蓝牙,关闭蓝牙,关闭mtk转载 2020-07-01 16:38:39 · 4015 阅读 · 2 评论 -
Android 如何将 data 分区格式由 ext4 转为 f2fs
本文适用于 MTK 平台[SOLUTION]FAQ is for sw version which is after MTK Android O1 release SW VersionOnly below chipsets support F2FS are veirified by MTK, if Customer’s chipset doesn’t include as below,FAQ may be not available1)6580/65702)6735/53/37 系列原创 2020-07-01 13:43:31 · 4075 阅读 · 0 评论 -
android 呼叫 volte 电话方法
添加权限<uses-permission android:name=“android.permission.CALL_PHONE” />呼叫方法 public void callVolte(String number){ Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + number)); intent.putExtra(TelecomManager.EXTRA_ST原创 2020-07-01 08:41:42 · 1376 阅读 · 0 评论 -
Android O/P/Q 版本如何预装 APK
一.预置可卸载APK,恢复出厂设置以后不可以恢复,将apk预置到data/app目录下android o 版本以后google 加入了patch,不允许预置apk到data/app目录下,只允许使用 adb install 的方式来安装apk到data/app目录下,需要将其roll back 回以前的版本,frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java--- a/services原创 2020-06-28 15:04:49 · 5685 阅读 · 4 评论 -
Ubuntu中安装Sublime Text 3.2并创建桌面快捷方式
先到 Sublime Text 官网下载最新安装包,下载 Linux repos - 也可下载64位或32位tarball,下载完成后解压得到 sublime_text_3 文件夹,将 文件夹用下面命令移至 opt 中# sudo mv sublime_text_3 /opt/通过下面指令在 /usr/bin/ 下创建链接,然后可通过 sublime 命令在命令行中打开软件# sudo...原创 2020-04-25 17:49:25 · 1752 阅读 · 0 评论 -
花式吊打源码中 Android.mk 集锦
一、区分版本编译 app最近在修改 Android P 中的 Camera 应用,看到了 mk 的强大之处,特记录一下。ifeq ($(MTK_CAMERA_APP_VERSION), 3)LOCAL_ROOT_PATH:= $(call my-dir)include $(LOCAL_ROOT_PATH)/host/Android.mkinclude $(LOCAL_ROOT_PATH...原创 2020-02-28 13:10:53 · 1308 阅读 · 0 评论 -
Android8.1 以上静默安装实现
前提是你已经拥有了当前 android 设备的系统签名,比如定制设备开发一、获取系统签名 jks 文件在 android 源码目录下路径 build/target/product/security/ 下,存在 platform.pk8、platform.x509.pem这两货就是我们平常说的系统签名,有了系统签名再给app增加 android.uid.system 属性,app就变成了系统级...原创 2020-02-27 17:13:46 · 1826 阅读 · 7 评论 -
如何获取IMEI号和MEID号
IMEI号是GSM的概念,CDMA对应的是MEID号。IMEI(International Mobile Equipment Identity)是国际移动设备身份码,目前GSM/WCDMA/LTE手机终端需要使用IMEI号码。在单卡工程中一个手机对应一个IMEI号;双卡工程中一张卡对应一个IMEI号,双卡共有两个IMEI号。MEID (Mobile Equipment Identifier) ...原创 2019-12-07 13:37:08 · 5063 阅读 · 0 评论 -
MTK 一个分支兼容多客户开机Logo方案
前言做源码开发的一般都涉及到多个分支,都是同一套源码,但面对不同的客户不同的定制,经常会多开分支。最简单的就如每个客户开机logo都不一样,经常打系统的你肯定会很魔怔,今天换这家的logo明天另外一家的logo。这篇就是为了解决这一痛点,如何在一个分支搞定 N 个客户的开机 Logo。简单科普MTK 的开机logo图片路径在vendor\mediatek\proprietary\boo...原创 2019-12-05 18:14:04 · 654 阅读 · 0 评论 -
Permission failure: android.permission.CAPTURE_AUDIO_OUTPUT 解决办法
在 android M 以上,MediaRecorder 录音时音源设置为 VOICE_CALL,开始录音时会抛出权限异常12-04 10:34:41.808 545 2254 D AudioRecord: set(): 0xe90ba000, inputSource 4, sampleRate 44100, format 0x1, channelMask 0x10, frameCount...原创 2019-12-04 13:49:53 · 7410 阅读 · 0 评论 -
AndroidStudio开发Java工程(解决java控制台中文打印乱码+导入jar包运行工程)
转载请注明出处:https://blog.csdn.net/u012932409/article/details/84936189这篇分享一点个人AS开发java工程经验,虽然有时候还是得打开eclipse来运行java项目,但能用AS的时候还是尽量用AS,毕竟一个字,爽~废话不多说,进入正题。一、开发Java工程你有两种选择,新建一个Android项目或在一个原有Android项目上...原创 2018-12-10 10:40:15 · 621 阅读 · 1 评论 -
apk系统签名小技巧
前言对于经常和android系统打交道的攻城狮来说,给app打系统签名一定是日常操作啦。由于最近使用的比较多,特此总结一下,减少复制粘贴的操作,通过命令行来搞定。简化前的操作1、Android Studio中的Terminal窗口, 输入 gradlew assembleRelease 命令打包。2、找到Project目录下的app\build\outputs\apk\release文件...原创 2019-01-11 17:01:48 · 388 阅读 · 2 评论 -
常用adb命令总结
前言很早就想整理一下自己平时常用的一些adb命令,不仅为了便于以后查找,而且整理的过程自己又重新复习了一遍,但是当我开始在度娘一搜的时候,发现很多人已经写的非常详细了,尤其是当我发现了这篇adb概括心中一句NND,怎么可以写的这么详细,瞬间没了想写这篇文章的欲望,如果你点了链接发现确实很全,那么恭喜你可以关掉这篇了,哈哈哈。我就不这么想的,虽然很全,但不是我常用的,因人而异,所以我就权当记...原创 2019-01-07 13:21:27 · 567 阅读 · 0 评论 -
Android 校正系统时间的三种解决方案
前言在开发过程中我们常常需要获取系统时间。 Android系统的自动确认时间,是由系统通过访问厂家的NTP服务器的时间,然后修改后得到的。 所以当没有网络或者在内网环境下的时候,系统无法访问到NTP服务器,便会造成系统时间错误。 所以这个时候我们就需要程序去修改系统的时间,或者获取一个正确的时间来代替系统时间。 NTP服务器【Netwo...转载 2019-01-10 10:16:44 · 14391 阅读 · 1 评论 -
修改Android设备型号、版本号、去掉自定义版本显示
1、修改型号源码位置 build/tools/buildinfo.shecho "ro.product.model="MTK6737_64_bsp""echo "ro.product.brand=$PRODUCT_BRAND"echo "ro.product.name="MTK6737_64_bsp""echo "ro.product.device="MTK6737_64_bsp""...原创 2019-04-15 11:47:29 · 11452 阅读 · 2 评论 -
subId、slotId、SubscriptionInfo和SubscriptionManager的解释及关系说明
1. subid和slotidslotid或者phoneid是指卡槽,双卡机器的卡槽1值为0,卡槽2值为1,依次类推。subid:SubscriptionId(Subscription Identifier)。subid是数据库telephony.db的表siminfo的主键递增项,其中telephony.db在"/data/user_de/0/...转载 2019-05-26 20:00:12 · 4637 阅读 · 0 评论 -
Android 获取网卡ip地址(静态+动态模式,解决有时获取到 IPV6 地址问题)
网上搜索得到的大多方法都是如下方式添加权限<uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />常规方法public static ...原创 2019-07-29 18:35:34 · 3627 阅读 · 0 评论 -
Android AlarmManager 定时闹钟实现在CPU休眠状态下进行业务操作
一开始先对Android手机的硬件架构做一定的了解,设计出的应用程序通常不会成为待机电池杀手,而要设计出正确的通信机制与通信协议也并不困难。但如果不去了解而盲目设计,可就没准了。首先Android手机有两个处理器, ApplicationProcessor(AP):AP是ARM架构的处理器,用于运行Linux+Android系统; 一个叫Baseband Processor(BP):B...转载 2019-08-09 09:18:01 · 1887 阅读 · 0 评论 -
吐血整理,1000 行 MySQL 命令,很实用!
基本操作/* Windows服务 */– 启动MySQLnet start mysql– 创建Windows服务sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST – 显示哪些线程正在运行SHOW VAR...转载 2019-09-29 14:27:09 · 495 阅读 · 0 评论 -
加载loading对话框的功能(不退出沉浸式效果)
转载请注明出处:https://blog.csdn.net/u012932409/article/details/84891954上一篇基于修改系统源码的前提下,实现了完全的沉浸式体验效果。可参考这篇 戳这一、自定义Dialog在沉浸式效果下,当界面弹出对话框时,对话框将获取到焦点,这将导致界面退出沉浸式效果,那么是不是能通过屏蔽对话框获取焦点来达到不退出沉浸式的目的呢。说干就干,我...原创 2018-12-08 13:40:39 · 1205 阅读 · 0 评论