自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 利用jdk自带keytool工具生成jks签名文件注意事项

结论:生成签名文件,建议使用jdk1.8。

2024-07-26 09:21:56 265

原创 无法升级MCU

2.焊接问题,无法进入ISP download模式。1.让硬件同事先查MCU本身和外围器件是否正常。2.采用J-LINK烧录器直接对MCU进行烧录。3.MCU意外触发了写保护。

2024-03-01 14:12:53 514

原创 USB HUB问题

如果是软件故障,查内核日志,检索跟温度相关信息,未发现异常日志,说明不存在高温保护关闭HUB的机制,后面咨询了方案商,确实不存在USB高温保护。基于硬件故障排查,最基本的认知:1.HUB供电异常 2.USB_ID脚拉高,USB从HOST模式变成了Slave模式。排查思路:让硬件同事将HUB的供电使能脚和USB_ID脚飞线引出,高温下用万用表量电压值,两者必有一处异常。年前遇到了装置在高温下USB HUB消失,降温后自动恢复的问题,整个排查过程简单记录。HUB消失,要么是软件故障,要么是硬件故障。

2024-03-01 13:50:46 509

原创 Android APP开发:单片机(STM32/GD系列)ISP升级调试注意事项

4.根据支持的指令,针对性调试,读保护 写保护 擦除Flash 擦除全部 写入Flash,必须每条指令都正常返回0x79。3.先调通发0x7F回复0x79,然后发送0x00 0xFF来查询得到MCU的自举程序版本和支持的指令。2.不同型号的MCU拉高boot脚和复位这两步操作的先后顺序可能不一样,以实际测试结果为准。5.验证从发送握手字节0x7F到烧写完成整个流程。1.先试用官方烧录工具验证指令交互顺序和时序。硬件环境:安卓与MCU串口通信。

2023-11-23 16:02:25 537

原创 一款好用的PDF文档解密软件

PDF Decrypter pro

2023-10-09 17:01:09 974

原创 Android rom开发:9.0系统上实现4G wifi 以太网共存

【代码】Android rom开发:9.0系统上实现4G wifi 以太网共存。

2023-09-15 14:11:11 799 3

原创 Android app开发:获取卫星定位核心代码-Beidou Gps Glonass Galileo都支持

【代码】获取卫星定位核心代码。

2023-07-06 09:16:31 1228

原创 Android rom开发:mtk android9.0 开放预置app权限

android权限管理

2022-07-13 08:26:05 1373 1

原创 Android rom开发:recovery取消校验Vbmeta version和framework matrix

本补丁解决Android 9.0 OTA差分升级遇到的校验不通过问题。diff --git a/system/libvintf/RuntimeInfo.cpp b/system/libvintf/RuntimeInfo.cppold mode 100644new mode 100755index 63a8c186b5..ce961f51ff--- a/system/libvintf/RuntimeInfo.cpp+++ b/system/libvintf/RuntimeInfo.cpp@@ -

2022-05-20 10:41:12 1788

原创 Android rom开发:修改Settings源码,支持蓝牙自动配对,无需输入PIN码

--- a/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingDialog.java+++ b/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/BluetoothPairingDialog.java@@ -34,6 +

2022-04-08 17:09:17 2792 2

原创 Android rom开发:framework中wifi热点定时关闭的源码实现

--- a/frameworks/opt/net/wifi/service/java/com/mediatek/server/wifi/MtkSoftApManager.java+++ b/frameworks/opt/net/wifi/service/java/com/mediatek/server/wifi/MtkSoftApManager.java@@ -759,6 +759,11 @@ public class MtkSoftApManager extends SoftApManager {

2022-04-08 17:03:04 1807

原创 Android rom开发:framework中wifi热点打开/关闭的源码实现

--- a/frameworks/base/core/java/android/net/ConnectivityManager.java+++ b/frameworks/base/core/java/android/net/ConnectivityManager.java@@ -42,6 +42,7 @@ import android.os.RemoteException; import android.os.ResultReceiver; import android.os.ServiceMana

2022-04-08 16:59:35 2400

原创 Android app开发:蓝牙socket通信

server端核心代码:public class BluetoothServer implements Runnable { private static final String TAG = "BluetoothServer"; private final Handler mHandler; private final BluetoothSocket mSocket; private InputStream mInputStream; private Output

2022-04-08 16:56:23 2724 1

原创 2021年度总结

今天是本年的最后一天,2021年对于我而言,意义非凡。重要事件回顾第一,正式迈入而立之年,以后就是一个标准的中年大叔了。岁月流逝,心态逐渐变平稳,不再像以前那样火急火燎。第二,乔迁了新房,总算是有了个没有噪音,可以舒舒服服睡觉的地方了。4月底裸辞,说实话以前真的没想过在背负房贷的压力下,自己还能有勇气选择裸辞。现在回过头看,裸辞是一个非常正确的决定。我总算是有充足的时间来处理搬家的各种琐碎事情。在经历了一年9个月的苦逼单休模式之后,我该好好放松一下自己。生活很难,别让自己一直太累。暂时停下脚步,不是颓

2021-12-31 09:49:51 165

原创 Android rom开发:STM32 ISP升级

平台:MTK环境:STM32与MTK通过串口连接核心思路: 参考STM32 AN3155文档,写入对应的指令。代码流程:1.复位后进入boot0下载模式(发1F 回79)2.发送擦除全部flash指令(发43 BC 回79,发FF 00 回79)3.循环发送升级数据(发31 CE回79,发字节地址 回79,发升级数据 回79)4.升级完成后复位MCU形式:java+JNI,java对串口节点(/dev/ttyS1)进行读写,jni执行真正的串口通信,将数据给到MCU。try {

2021-12-08 09:34:42 730

原创 Android rom开发:MTK操作GPIO

平台:MTK6765android版本:9.0内核版本:4.9读写GPIO节点:/sys/devices/platform/1000b000.pinctrl/mt_gpio public void writeGpio(String value) { Log.d(TAG, "wjz debug writeGpio: value is " + value); if (value.isEmpty()) { return; }

2021-12-08 09:01:29 791

原创 Android rom开发:android9.0增加自定义系统属性注意事项

场景:在vendor/etc/init/hw/init.mt6765.rc中,通过设置自定义系统属性触发执行服务实测代码:如果这样写,属性可以设置成功,但是不会触发执行服务on property:persist.gpio_out_high.enable=1start gpioOutHigh改为persist.vendor开头,可以触发执行服务on property:persist.vendor.gpio_out_high.enable=1start gpioOutHigh注意,自定义属性不能

2021-11-18 09:42:26 2644

原创 Android rom开发:预置sh脚本到system/bin

采用Android.mk+PRODUCT_PACKAGES的方式//xxx.mkPRODUCT_PACKAGES += test.sh//Android.mkLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := test.shLOCAL_MODULE_CLASS := EXECUTABLESLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(LOCAL_MODUL

2021-11-18 09:21:34 1871 1

原创 Android rom开发:编译阶段设置预置文件或者文件夹的权限

修改system/core/libcutils/fs_config.cpp,加入对应的路径即可static const struct fs_path_config android_dirs[] = { // clang-format off { 00770, AID_SYSTEM, AID_CACHE, 0, "cache" }, { 00555, AID_ROOT, AID_ROOT, 0, "config" },

2021-11-18 09:18:02 2580

原创 Android app开发:代码切换移动数据走SIM1/SIM2

权限:<uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.MODIFY_PHONE_STATE" tools:ignore="ProtectedPermissions" />反射调用://传入参数:1-SIM1, 2-SIM2findViewById(R.id.btn_

2021-10-08 16:50:18 2172

原创 Android app开发:息屏状态下唤醒屏幕

方式1:申请wake_lock唤醒屏幕//权限:<uses-permission android:name="android.permission.WAKE_LOCK" />@SuppressLint("InvalidWakeLockTag")private void wakeUp() { PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); Log.d(TAG, "wj

2021-09-15 16:02:41 4343

原创 Android rom开发:固定设置wifi热点的ip、ssid及密码

Android9.0起,开启wifi热点的逻辑进行了调整,ip ssid 密码均为随机生成,为便于通过wifi热点进行无线通信传输,特将固定设置wifi热点的ip、ssid及密码的方法总结如下:modified: frameworks/base/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.javaprivate boolean configureIPv4(boole

2021-09-15 14:06:40 3291

原创 Android app开发:Camera2 api判断前后摄

public static final int LENS_FACING_FRONT_ID = 0;public static final int LENS_FACING_BACK_ID = 1;private int judgeCameraId() { int ret = 2; try { CameraManager cameraManager = (CameraManager) getSystemService(CAMERA_SERVICE); Str

2021-09-14 09:21:21 1676

原创 我离职了

2021.4.29,我离职了。2019.7.15-2021.4.29,一年9个月的时间。在新东家的这期间,收获了挺多,开拓了眼界。但是,长时间的单休模式,让我感觉与家庭的撕裂感越发严重,几乎没有时间和家人一起做点什么,比如:逛街 登山 踏青,这些看起来似乎很轻松就可以做到的事情,实际上基本无缘。周日一天的休息时间,出门买个菜,做个午饭就差不多消耗完了全部时间,想出个门玩一玩,难,哪怕只是在小区里面走一走,时间也很紧张。与此同时,身体也逐渐感觉吃不消。这一年多时间下来,运动锻炼登山踏青,全部遥不可及。深深的

2021-05-06 09:42:53 167

原创 2020年个人总结

2020年即将过去,这一年极其不平凡:新冠疫情,全民疯抢口罩酒精,延迟复工,失业,破产,倒闭,全球经济衰退…回顾:在2019年总结的时候,立了flag:平均每个月更新一篇博客。目标达成,没有翻车。博客访问量也突破了11W,虽然绝对数量不高,但是还是挺欣慰的,毕竟用心码字记录了自己踩过的坑,便于自己随时回顾,也微微帮助到了一些遇到类似问题的同学。因为疫情的影响,今年开工延迟,在老家过了一个难得的超长假期。返珠之后,经过居家隔离,2.17开始上班。今年是第一个在新东家完整工作的年头,这一年的工作,存在一

2020-12-31 11:25:13 181

原创 Android rom开发:wlan认证-QRCT测试踩坑记录

近期远程协助海外客户处理wlan认证事宜,经过反复多次折腾,终于成功跑通,特此记录。机器方案:高通测试工具:QRCT测试wlan主要命令:insmod ..../wlan.ko con_mode =5ptt_socket_app入坑1.首先方案供应商提供了认证相关的指导文档,发送给客户之后,反馈说运行bat后,打开QRCT的第一步一直出错,无法开始测试。2.确认客户刷了调试版本固件,并且成功进入了usb调试模式。3.安排远程操作,将bat里面的命令,转换到adb shell里面手动执行

2020-11-20 13:30:47 1122

原创 Android rom开发:通过拨号使用暗码打开不显示图标的应用

修改packages/apps/Dialer下的SpecialCharSequenceMgr.java即可,不同android 版本具体路径可能不一样,笔者的修改基于android 7.1 sdk。效果:在拨号键盘输入*#1024#*,打开在launcher里面不显示图标的test app。使用场景:显示一些隐秘的系统信息,或者打开测试工具,等等patch如下:diff --git a/packages/apps/Dialer/src/com/android/dialer/SpecialChar

2020-08-29 16:27:28 389

原创 Android rom开发:高通平台充电-Micro_usb&&USB_VBUS

基于高通MSM8909+android 7.1,充电模块PM8909。正常情况下,充电是走micro_usb接口,数据线接入充电,DP DM通信后确定充电类型是usb还是适配器充电,具体内容本文不展开,可自行查阅内核里面的usb驱动phy-msm-usb.c。本文实现外接5V供电到USB_VBUS即可充电,无需dp dm通信。1.首先usb驱动phy-msm-usb.c中固定设置充电模式为USB_CDP_CHARGER,最大电流1500ma,即可实现快充,无需dp dm通信,也不影响数据线接入后mi

2020-07-25 11:09:43 1507

原创 Android rom开发:不显示系统的电池信息

frameworks packagesdiff --git a/frameworks/base/packages/SystemUI/res/values/config.xml b/frameworks/base/packages/SystemUI/res/values/config.xmlindex 010da92..01eb470 100644--- a/frameworks/base/packages/SystemUI/res/values/config.xml+++ b/frameworks/

2020-07-25 10:31:15 278

原创 Android app开发:对findViewById的引用不明确

“错误: 对findViewById的引用不明确,Activity 中的方法 findViewById(int) 和 AppCompatActivity 中的方法 findViewById(int) 都匹配,其中, T是类型变量”相信以上错误很多小伙伴都遇到过,最近本猿也遇到了,一番折腾才解决,特意汇总整理一下常见的解决方案。1.网上最常见的办法是统一各个module的compileSdkVersion,向高版本看齐2.Android Studio->File-Invalidate Caches

2020-05-26 16:46:40 3766 4

原创 Android rom开发:webview崩溃问题Binary XML file line #103: Error inflating class android.webkit.WebView

近期在项目上遇到了webview崩溃的问题,出现在app版本迭代之后。崩溃log如下:05-26 13:58:52.961 7085-7085/com.printer.tool E/AndroidRuntime: FATAL EXCEPTION: main Process: com.printer.tool, PID: 7085 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.printer.to

2020-05-26 14:30:25 1017

原创 Android rom开发:第三方app开放全部权限+支持静默安装卸载

开发平台:高通 android 7.1需求:app不带系统签名,仅仅以反射的方式调用PackageManager类的installPackage、deletePackage方法,实现静默安装卸载。背景知识:常规情况下,静默安装卸载需要以下2个系统级权限+系统签名<uses-permission android:name="android.permission.DELETE_PA...

2020-04-28 17:48:31 1255

原创 Android rom开发:最完整的截屏方案(支持全屏截屏+区域截屏)

网上很多资料都是说使用View的getDrawingCache接口,这种方式有一个问题,无法截取到状态栏,因此个人不推荐。View view = getWindow().getDecorView().getRootView(); view.setDrawingCacheEnabled(true); view.buildDrawingCache(); temBitmap = view....

2020-04-22 15:56:24 652

原创 Android rom开发:Settings隐藏某个选项

方法1:直接在AndroidManifest.xml中屏蔽对应的activity优点:无需改动java代码,简单粗暴缺点:一刀切的做法,无法根据不同的条件灵活显示或者隐藏方法2:packages/apps/Settings/src/com/android/settings/SettingsActivity.javasetTileEnabled方法的第2个布尔值参数代表是否显示(true...

2020-04-20 15:38:09 1117

原创 Android rom开发:自定义序列号ro.serialno

本文基于Android 5.1版本SDK。客户需求:自定义sn,统一规则编号。第一部分:背景知识Android的sn由SystemProperties.get("ro.serialno", "");而来。ro.serialno并不像常见的其他属性一样存在于build.prop等prop文件中,而是在/system/core/init/init.c里由ro.boot.serialno转换而来...

2020-03-30 22:48:55 5480 8

原创 Git合并分支

合并分支代码,dev->master1.直接远程分支合并:git merge origin/dev2.从本地分支合并:git merge dev注意:无论是远程还是本地合并,都要确保dev的代码是最新。合并完成之后执行:git push origin masterPS:当从maser分支合并到dev分支的时候,此种方式合并之后会产生例如"Merge master into...

2020-03-14 14:37:26 594

原创 Android rom开发:app运行异常,报libc: Fatal signal 11 (SIGSEGV) in tid xxx错误

最近遇到了app在设备上反复挂掉的问题。log如下:2020-03-07 13:20:24.814 16858-16858/? E/SharedPreferencesImpl: Couldn't create directory for SharedPreferences file /data/user/0/com.hello.test/shared_prefs/authStatus_com.h...

2020-03-10 12:03:06 10681

原创 2019年个人总结

2019年主题:忙2019年是毕业以来重大事情最多的一年,从年头忙到年尾。回顾大年初四在老家举办了简单的婚礼,没有繁复的仪式,就邀请亲朋好友聚在一起吃饭热闹热闹,终于完成了一件人生大事。开年之后一直忙着准备装修的事情,跑装修公司改方案,跑建材市场买各种材料。从5月份开始,一直到11月份才结束,真是一把辛酸泪,掏空钱包还受累。7月份,告别了工作接近5年的老东家,五味杂陈,离开很无奈。在6月...

2020-01-01 00:01:09 365

原创 Android rom开发:动态显示隐藏底部导航栏,默认显示3s后消失

时节如流,2019年快要结束了,立个flag,2020.1.1发布2019年个人总结,今天先来一篇技术干货。项目需求要求动态显示/隐藏底部导航栏,默认显示3s后消失。设备默认是横屏显示。思路:PhoneWindowManager.java里面检测手势操作–>调用IStatusBarService.aidl里面的接口方法–>StatusBarManagerService.java...

2019-12-21 15:40:47 987

原创 Android rom开发:5.1系统默认允许特定apk的全部权限

不废话,直接贴代码!diff --git a/frameworks/base/services/core/java/com/android/server/AppOpsService.java b/frameworks/base/services/core/java/com/android/server/AppOpsService.javaindex 5675539177..ecb469c78c...

2019-11-01 15:17:06 1239

Android代码模拟按键事件

Android代码模拟按键事件,demo中以按数字键1为例子,响应power按键事件,系统进待机。按数字键1可以替换成接收消息,广播,接口回调,等等

2018-08-23

空空如也

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

TA关注的人

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