- 博客(70)
- 资源 (19)
- 收藏
- 关注
原创 Android知识点汇总
(一) java基础面试知识点 java中==和equals和hashCode的区别 探探对java多态的理解:重载和重写 String、StringBuffer、StringBuilder区别:StringBuffer 线程安全,StringBuilder单线程中效率高。 什么是内部类?内部类的作用 抽象类是否可以没有方法和属性:可以。 泛型中extends和super的区别 父类........................
2020-08-12 09:56:34 1472
原创 Android13 调试,解锁bootloader
",输入"fastboot flashing unlock" (命名窗口出现了(bootloader) Start unlock flow 才代表真正执行unlock)(PC进入cmd窗口后,先进入到platform-tools目录,因为该目录下才有fastboot.exe.以下cmd才能正常运行.对应的platform-tools位于sdk目录下)画面切换到下一个选单后,输入"fastboot reboot"输入"adb reboot bootloader"
2024-06-04 10:14:36 648
原创 Android通过反射动态挂载/卸载U盘
需要添加android:sharedUserId="android.uid.system" 到AndroidManifest.xml。代码中动态控制U盘挂载和卸载。(仅适用于系统应用)
2024-02-26 19:10:11 382
原创 Android GMS版本连接wifi后提示网络受限问题
Android系统连接wifi后在SystemUI上wifi图标会显示一个感叹号,提示网络受限。但实际网络能访问。
2024-02-21 16:25:44 714
原创 GMS CTS测试命令汇总
CTS是的英文简写,意为兼容性测试。CTS测试主要是测试OEM厂商设计的Android平台是不是符合Android的API接口定义。通过CTS测试不仅可以保证Android设备上正常运行,同时,也能够让所有的开发者放心地制作高质量的应用程序,因此只有通过CTS认证的设备才能合法的安装使用等Google应用。先 ./cts-tradefedrun cts 测试全部。
2023-11-17 19:12:44 718
原创 adb disable-verity 后无法升级
最开始以为是新增分区时配置的问题,后面发现是自己本地用脚本执行了 adb disable-verity 导致。adb disable-verity 和 adb remount 会修改设备内部的校验数据,导致校验有问题。若需要关闭selinux 放开路径权限,可以进入adb shell 后su 再尝试。之前写了一个本地升级zip包的应用,用于本地快速验证OTA。最近在调试某个新增分区的升级时,突然发现该应用无法使用。
2023-06-08 14:10:10 221
原创 Android LOCAL_MODULE_TAGS 已过时
LOCAL_MODULE_TAGS 已过时,要用PRODUCT_PACKAGES_ENGorPRODUCT_PACKAGES_DEBUG替代
2023-05-22 18:52:06 744
原创 控制Android连上adb一段时间后重启
上面是用ping做的一个延时,会在连上adb 80 秒后,重启设备。有时做压力测试或复现问题时,需要控制机器不断重启。
2023-04-11 16:44:44 428
原创 C语言和Java中RSA算法一些注意事项
Java端采用RSA加密后,吧公钥传给C端,在C端RSA解密。key 为2048位。Java中还有一个专门的验签函数:Signature.getInstance(SIGN_METHOD);但是当与C端用RSA加解密验签时,不要用该函数,直接用Cipher 加密即可。其公钥长度超过256字节,而C语言端公钥就是256。那该传什么给C端呢?一般认为RSA2048加密时,要加密内容不能超过256字节,但是当用。其要传输的公钥为上图除红色框中的部分。时,是能加密256字节内容的。
2022-11-03 17:09:38 682
原创 Android代码中模拟点击事件
Android在代码中常用的模拟点击、滑动事件方案有Instrumentation 、用Runtime发送input或sendevent等
2022-09-15 09:38:52 2123
原创 git判断修改的基类文件是否与定制项目冲突
项目用git 管理的android系统代码(整个android源码是一个git工程,这点与现在android代码管理方式不一致),不同客户定制化的项目若修改了相关文件会拷贝一份到CUSTOMER目录修改,编译时再检查再拷贝会原来的目录覆盖后编译。
2022-09-09 13:41:27 229
原创 ubuntu android monitor启动报错
最近在ubuntu上启动android sdk 里面的monitor工具时报错,在log中发现如下核心报错信息:!ENTRY org.eclipse.core.runtime 4 0 2021-07-28 16:37:07.394!MESSAGE FrameworkEvent ERROR!STACK 0org.osgi.framework.BundleException: The bundle "org.eclipse.core.runtime_3.8.0.v20120912-155025 [4
2021-07-29 11:08:40 796
原创 git常用技巧总结
git blame [file] 显示文件最近是谁修改git log --name-status 显示修改文件列表git show 16dbf5482b5d9a708bdaa4356c3125b17f735982 --name-status 显示某笔记录的修改文件
2021-07-16 11:10:48 90 1
原创 Java父类子类调用顺序
补一篇java基础知识; 来说明子类在构造时以及在调用方法时是使用的哪个函数。首先写一个父类:Log.d 是用 System.out.println 封装实现的。class Parent { private static final String TAG = "Parent"; static String sStaticParent = "sStaticParent"; static { Log.d(TAG, "sStaticParent: " ...
2021-05-15 19:30:31 150 1
原创 AndroidTools,Utils
public class ToastUtil { public void showToast(Context context, int strId) { Toast.makeText(context, strId, Toast.LENGTH_SHORT).show(); } public void showToast(Context context, S
2021-03-17 16:41:12 150
原创 Java输入输出与字符处理
最近看了一些机试题,大多是些很基础的输入输出以及字符的处理,有些东西太基础了反而记不住。现在整理一些常用的关键代码记录如下:通常使用的类与要导入的包import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;获取输入//通过BufferedReader、InputStreamReader、System.in 来获取输入 BufferedReader
2021-03-06 22:09:34 190 1
原创 Android Settings开发总结
界面构成主界面使用的layout是:settings_main_dashboard,子界面使用的layout是:settings_main_prefs。主界面使用DashboardSummary(Fragment)进行填充(RecyclerView),子界面都是使用各自的Fragment进行填充。settings_main_dashboard中只有一个FrameLayout,后面会将其替换为DashboardSummary。settings_main_prefs中也存在一个叫main_...
2021-03-04 17:32:55 1624 1
原创 git merge与rebase区别
在master分支上执行git merge dev, 相当于把dev分支上的内容按时间顺序合并到master分支,最后会形成一笔新的commit。在master分支上执行git rebase dev 相当于在master分支上先缓存原有所有的commit,再把dev分支中的内容塞进去,最后再把原来master分支中不包含dev中的内容追加进去,所得结果形成新的master,commit无时间顺序。各分支原始状态和执行结果如下。master分支,作为操作基分支拉出mergeTest2、rebas
2021-03-01 10:02:59 124
原创 搭建gerrit服务器----上传一份完整的Android源码
由于搭建gerrit服务器的文章已经很多了,我就不重复造轮子了。但是很少有文章介绍怎么去上传源码的文章,这里介绍下我以前的思路。对于单个git 仓库是很简单的,这里只介绍一整份Android源码。这里先介绍下Android源码里面manifest XML(载货清单)的大致结构。(下图从网上找的一个)remote 指定了远程服务器的一些信息,地址,分支、等等。一些大公司的代码是分了好...
2021-02-25 17:15:37 1110
原创 自定义FlowLayout流式布局
基于FlowLayout流式布局扩展的接口,可设置每行最大的列数,以及文本是居左、居中还是居右布局。修改后的代码如下:package com.lanmeng.test.view;import android.annotation.SuppressLint;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.graphics.Rec..
2021-02-25 16:47:42 380
原创 MediaPlayer学习简要总结
调用流程Prepare方法为例:MediaPlayer.prepare--- android_media_MediaPlayer_prepare--- MediaPlayer(BpMediaPlayer).cpp.prepare--- prepareAsync_l----prepareAsync--- MediaPlayerService.prepareAsync-- getPlayer要获取具体实例NuPlayer NuPlayer.prep...
2021-01-05 09:14:53 214
原创 Android Audio架构学习总结
目录主要类Audio 播放流程Track构建getoutput流程Audio播放流程主要类AudioTrack(输出)和AudioRecorder,MediaPlayerService内部的实现就是通过它们来完成的,只不过MediaPlayer/MediaRecorder提供了更强大的控制功能,相比前者也更易于使用。以前是基于ALSA,后来改为tinyalsa。Audio Application Framework:音频应用框架 AudioTrack:负责回放...
2020-12-28 15:31:12 928
原创 MTK平台替换签名key方法
本文是Android 8.0 MTK平台替换签名文件总结,签名基础知识请先阅读:Android——编译release版签名系统MTK平台替换签名方法:1. 先参考Android——编译release版签名系统文中的方法生产自己的key,然后放置于device/mediatek/security 目录下;2.修改device/mediateksample/aiv8167sm3_bsp/ProjectConfig.mk 把MTK_SIGNATURE_CUSTOMIZATION 值由no 改为y...
2020-12-21 17:10:22 1355
原创 Android网络开发学习总结
网络框架对比和源码分析自己去设计网络请求框架,怎么做?Volley:Android网络框架-Volleyokhttpokhttp如何处理网络缓存的:使用CacheControl处理,Request.Builder().cacheControl(cache)。HttpUrlConnection 和 okhttp关系: HttpUrlConnection 在Android4.4之后,是通过okhttp实现的,用HttpHandler作为桥梁过渡。其它WebSocket与...
2020-12-16 14:01:36 383
原创 Java与Android线程学习总结
目录线程、进程等的区别开启线程的方式线程生命周期线程同步并发编程三个问题Java同步的方法Synchronized锁总结比较多线程操作事项死锁线程池ThreadLocalAsyncTask注意事项如何防止线程的内存泄漏?线程、进程等的区别进程是操作系统资源分配的基本单位(独立的内存),而线程是任务调度和执行的基本单位。为什么要有线程,而不是仅仅用进程:进程只能在一个时间干一件事情,如果堵塞了,整个进程就会挂起。线程有助于并发,.
2020-12-16 11:26:15 106
原创 Java线程池学习总结
Executors线程池种类:五种,都依赖于ThreadPoolExecutor线程池原理当提交一个新任务到线程池时首先线程池判断基本线程池(corePoolSize)是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程; 其次线程池判断工作队列(workQueue)是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程; 最后线程池判断整个线程池(maximumPoolSize)是否已满?没满,则创建一个新的工作线程来执行任务, 满了,则交给饱和策略来处理这个任务
2020-12-16 10:45:05 127
原创 Android基础知识总结
一、Activity与FragmentActivity各种情况下的生命周期:onCreate,onStart,onResume,onRestart, onPause,onStop,onDestory. Activity与Fragment之间生命周期比较 Activity的四种启动模式对比 Activity状态保存与恢复:复写onSaveInstanceState和onRestoreInstanceState Fragment状态保存startActivityForResult是哪个类的方法,在什
2020-12-16 09:47:27 1147
原创 Android View学习总结
AlertDialog, popupWindow, Activity区别:AlertDialog是非阻塞式对话框:AlertDialog弹出时,后台还可以做事情;而PopupWindow是阻塞式对话框:PopupWindow弹出时,程序会等待,在PopupWindow退出前,程序一直等待,只有当我们调用了dismiss方法的后,PopupWindow退出,程序才会向下执行。 RecycleView 和ListView区别,ListView并没有被废弃,参考RecyclerView和ListView的区别.
2020-12-16 09:44:41 332
原创 数据结构与算法总结
(一) 数据结构列举java的集合以及集合之间的继承关系: 容器类介绍以及之间的区别(Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)) List,Set,Map的区别:List能插入重复对象,可插入多个Null元素;Set不允许有重复对象,能有一个Null元素,set是无序的,但TreeSet 能进行排序;Map是一个接口,并不是collection的子接口或实现类,ke.
2020-12-16 09:34:39 164 2
原创 Java知识点总结
(一) java基础知识点java中==和equals和hashCode的区别: ==比较地址,equals可重写,hashCode是内存地址的散列。为了保证,对象相等时,地址一致。 探探对java多态的理解:重载和重写 String、StringBuffer、StringBuilder区别:StringBuffer 通过synchronized实现线程安全,StringBuilder单线程中效率高。 什么是内部类?内部类的作用 抽象类是否可以没有方法和属性:可以。 泛型中extends和s.
2020-12-16 09:33:04 176
原创 Android框架
从上至下:framework:C到java的转换,服务的封装;HAL:定义了标准的硬件接口,hw_module_t, 严格来说要实现这步。linux:设备节点的创建供上层调用参考:https://blog.csdn.net/LinuxArmbiggod/article/details/87723406...
2020-12-11 16:28:16 184
转载 【转载】BroadcastReceiver广播的注册、发送和接收过程分析
本文转载于 :https://blog.csdn.net/u011810352/article/details/79642122
2020-12-11 11:17:13 148
WifiConnect
2015-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人