- 博客(25)
- 资源 (10)
- 收藏
- 关注
原创 Github创建仓库及工程源码上传
GitHub是一个很好项目版本控制软件。也可以开放分享不同的技术实现。但对于来说可能会有些不习惯,下面整理一些上传的基本操作。创建仓库在本地目录运行Git Bash(前提安装好Git工具)Git命令//创建md文件,如果有,就不需要再创建echo “# BTDemo” >> README.md//初始化git init//上传md文件git add README...
2019-08-28 19:44:49 192
原创 iPerf工具android9.0移植和使用介绍
iPerf简介iPerf是一种广泛使用的网络性能测量和调整工具。是跨平台工具,支持Window,linux,android平台的运行和测试,可以为任何网络生成标准化的性能测量。使用iPerf工具要开启一个服务端和一个客户端,可以创建数据流来测量一个或两个方向上两端之间的吞吐量。Iperf输出包含传输的数据量和测量的吞吐量的时间戳报告。可以分别测试TCP和UDP数据传输:TCP:当用于测试...
2019-08-28 10:38:08 3222
原创 ALSA音频架构之声卡设备信息
最近项目中遇到了一个蓝牙和语音同时占用一个录音设备的问题。报错打印如下:audio_hw_primary: cannot open pcm_cap: cannot open device ‘/dev/snd/pcmC0D0c’: Device or resource busy在系统中/dev/snd中去查看:# ls /dev/snd/ -ltotal 0crw-rw---- 1 sy...
2019-08-23 16:54:43 3426
原创 android P广播权限问题Background execution not allowed: receiving Intent和系统受保护广播问题调查
1、隐式广播权限android O系统后,隐式广播收到的限制,一定要指定包名才能发送出来。否则会报错:Background execution not allowed: receiving Intent { act=android.bluetooth.anw.action.PAIR_REQUEST flg=0x10 (has extras) } to com.anwsdk.sample/.B...
2019-08-22 15:54:10 4502
原创 Android P将内部类注册为静态广播及广播报错调查
静态注册内部类广播的方法在AndroidManifest.xml中定义android:name=".DemoActivityUsbBroadcastReceiver",内部类用符号UsbBroadcastReceiver",内部类用符号UsbBroadcastReceiver",内部类用符号表示。例如:<receiver and...
2019-08-21 11:06:16 397
原创 git命令总结
github源码上传更新常用命令:使用方法,需要先下载Git工具:https://git-scm.com/downloads安装完成后,右键Git Bash Here“”1、初始化仓库git init2、添加目录(.表示跟目录全部文件)git add .git add file.java3、提交代码git commit -m "提交说明"4、关联到github仓库git...
2019-08-20 10:50:53 136
原创 Google官网开源串口通信Demo
谷歌官方提供了android-serialport-api程序,用于实现串口通信。谷歌官方源码:https://code.google.com/archive/p/android-serialport-api/source/default/source整理成Android Studio工程,并实现自己的Demo:https://github.com/sunxiaolin2016/Seria...
2019-08-19 20:28:36 1621 1
原创 Android P SystemUI之StatusBar Wifi图标更新逻辑
相关源码:\frameworks\base\packages\SystemUI\src\com\android\systemui\Dependency.java\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBarSignalPolicy.java\frameworks\bas...
2019-08-14 19:32:13 2907 1
原创 Android P SystemUI之StatusBar UI布局status_bar.xml解析
相关源码:\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\CollapsedStatusBarFragment.java在文章《Android P SystemUI之super_status_bar.xml解析》讲到,StatusBar的UI主要是在super_status_bar.xml中...
2019-08-14 16:29:04 3553 3
原创 Android P SystemUI之super_status_bar.xml解析
super_status_bar.xml源码:\frameworks\base\packages\SystemUI\res\layout\super_status_bar.xml<!-- This is the combined status bar / notification panel window. --><com.android.systemui.statusba...
2019-08-14 15:29:22 3485
原创 Android P SystemUI之StatusBar加载流程
相关源码:\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBar.java\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBarWindowManager.java...
2019-08-14 14:39:47 1890
原创 Android P窗口机制之Window加载流程
相关源码:\frameworks\base\core\java\android\app\Activity.java\frameworks\base\core\java\android\app\ActivityThread.java\frameworks\base\core\java\android\app\servertransaction\ClientTransaction.java\f...
2019-08-13 11:25:33 846
原创 Android P窗口机制之Activity启动流程
相关源码:\frameworks\base\services\core\java\com\android\server\am\ActivityManagerService.java\frameworks\base\services\core\java\com\android\server\am\ActivityStarter.javaActivity启动几种方式:在Launcher界面点...
2019-08-12 14:02:58 819
原创 Android P系统源码之Zygote启动流程
相关代码路径:\frameworks\base\cmds\app_process\app_main.cpp\system\core\rootdir\init.rc\system\core\rootdir\init.zygote64.rcinit进程是安卓系统用户空间启动的第一个进程,其他进程都是直接或者间接地由init进程fork出来的。而Zygote(受精卵)就是由init创建(for...
2019-08-12 11:55:12 529
原创 Android P窗口机制之DecorView加载流程
相关类:frameworks\base\core\java\android\view\View.javaframeworks\base\core\java\android\app\Activity.javaframeworks\base\core\java\com\android\internal\policy\DecorView.javaframeworks\base\core\java...
2019-08-10 17:18:14 1319
原创 Android网络时间更新失败报错SntpClient: request time failed: java.net.SocketTimeoutException: Poll timed out
找到报错的地方:frameworks\base\core\ java\android\net\SntpClient.java/*** Sends an SNTP request to the given host and processes the response.** @param host host name of the server.* @param timeout netw...
2019-08-09 12:45:50 6246 2
原创 Android P系统修改状态栏记录
1、强制永久显示状态栏(不被app隐藏)代码路径:\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java/** {@inheritDoc} */@Overridepublic void applyPostLayoutPolicyLw(WindowState win, Wind...
2019-08-09 09:45:23 953
原创 Android关于Launcher的Activity启动两次的问题调查
在开机的时候,发现launcher的Activity启动了两次。经过开机打印Log发现:2019-08-05 16:37:31.891 1754-1800/system_process W/WindowManager: Force clearing freeze: AppWindowToken{f258030 token=Token{59f4973 ActivityRecord{ad731e2...
2019-08-07 12:36:14 2926
原创 Android编译报错Non-static method 'getActivity()' cannot be referenced from a static context
在静态方法中使用getActivity()编译的时候报错:Non-static method ‘getActivity()’ cannot be referenced from a static context解决方法,用Context替代:private static Context mContext = null;mContext = getActivity();使用mContext...
2019-08-06 16:24:02 1940
原创 Linux磁盘空间扩展
1.查看磁盘剩余空间df -hl2.查看磁盘空间状态,确认总空间大小和未分配空间大小fdisk -l3.进入磁盘分配选项fdisk /dev/sdaWelcome to fdisk (util-linux 2.31.1).Changes will remain in memory only, until you decide to write them.Be careful bef...
2019-08-06 10:28:03 457
原创 Linux下解压命令
1.解压tar.xz后缀文件xz -d filename.tar.xz2.解压.tar后缀文件tar -xvf filename.tartar -zxvf filename.tar.gz
2019-08-06 10:17:43 134
原创 实现Android和Linux之间的UDP通信
前提:Android设备和Linux设备必须在同一个局域网内。Linux平台使用QT开发程序。Android客户端:请参考文章:《Android实现Udp socket通信且对数据进行分包和解析》Linux平台服务端Qt程序:QtUdpSocketServer.cpp#include <QBuffer>#include <QImageReader>#incl...
2019-08-05 18:46:39 559 2
原创 Android关于TCP和Udp Socket通信区别
项目开发中可能会用到Socket通信,在使用Socket时,根据需求来决定使用TCP还是UDP。下面总结一些重要的区别。一、数据大小TCP:传输数据无大小限制,可直接进行大数据量传输;UDP:传输数据限定在64K以下,超过64K需要分包发送。二、缓冲区TCP:对于TCP来说,Socket接收缓冲区可用空间大小限制了TCP通信的数据数据传输,如果缓冲区溢出,将会造成阻塞现象;如果...
2019-08-05 17:57:12 793
原创 Android实现Udp socket通信且对数据进行分包和解析
Udp socket通信和Tcp socket通信原理,请参考:《Android中关于Socket通信数据大小,内存缓冲区和数据可靠性的一点调查》代码实现:public class AndroidUdpSocketService extends Service { private static final String TAG = AndroidUdpSocketService.cl...
2019-08-02 15:04:40 1370
原创 Android进程间通信之Service和Activity之间的通信
安卓项目开发中经常会遇到Service和Activity之间通信的情况,Service的数据更新,通知Activity中UI更新。Service和Activity之间的通信主要有三种:bindService();广播Broadcast;hander机制一、利用hander机制实现Service通知Activity更新UIpublic class DemoActivity exten...
2019-08-02 14:29:24 944
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人