
Android
yzpyzp
这个作者很懒,什么都没留下…
展开
-
Could not find androidx.camera:camera-view
Could not find androidx.camera:camera-view原创 2022-09-29 18:02:49 · 1017 阅读 · 0 评论 -
adb输出日志到文件
adb logcat > /sdcard/logcat.txt原创 2022-05-26 10:12:18 · 1258 阅读 · 1 评论 -
onCharacteristicChanged
onConnectionStateChange当接收到数据时会回调onConnectionStateChangeonConnectionUpdated当蓝牙连接的参数改变时会回调onConnectionUpdated在蓝牙设备建立连接之后,系统默认会设定一些连接参数,这样就会多次执行onConnectionUpdated回调,我们一定要通过一些同步机制或延时设置的方式来确保自己的参数设置成功,比如假如我们设置后,系统又设置了一次,就会出现参数被覆盖的情况。参考:Android BLE中心设备的o原创 2022-05-20 14:02:20 · 2220 阅读 · 0 评论 -
Android dependency ‘androidx.core:core’ has different version for the compile
直接在安卓项目的根目录下的build.gradle添加代码如下:subprojects { project.configurations.all { resolutionStrategy.eachDependency { details -> if (details.requested.group == 'androidx.core' && !details.requested.name.contains('androi原创 2022-05-19 16:45:31 · 1551 阅读 · 0 评论 -
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.参考:Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.原创 2022-05-17 15:59:22 · 313 阅读 · 0 评论 -
git push的git lfs大文件管理
git push时报错:remote: 大文件请使用 Git-LFS 管理步骤1.安装git lfs install参考:Git - push超大文件到远程仓库原创 2022-05-16 17:05:57 · 1955 阅读 · 0 评论 -
Android项目可以添加到.gitignore中的目录或者文件
Android项目可以添加到.gitignore中的目录或者文件:*.iml.gradle.idea.DS_Store/build.externalNativeBuild.cxxlocal.properties原创 2022-05-16 16:36:26 · 308 阅读 · 0 评论 -
activity启动时会有黑屏/白屏
其中bg_splash是一张全屏的启动图片,在这里设置的图片,在点击app图标的那一刻就会加载。因此去掉白屏或黑屏,1. APP启动黑/白屏的原因首先,我们需要知道一个APP启动时,屏幕上都会有什么。在我们的APP里,显示在屏幕上的自然是各个View了,而我们的View又都是在Activity的onCreate()方法中调用了setContentView()方法,传入了我们的layout文件,也就是我们理论上应该看到的Activity内容。但是Android系统在启动一个新的Activity时,首先进行原创 2022-05-16 15:53:48 · 1040 阅读 · 0 评论 -
Android 静默安装
不通过pm install命令的方式进行安装,直接调用系统的apiimport android.app.PendingIntent;import android.content.Context;import android.content.Intent;import android.content.pm.PackageInstaller;import android.content.pm.PackageManager;import android.os.Build;import android原创 2022-05-13 10:11:10 · 2682 阅读 · 0 评论 -
android监听home键事件
参考:Android监听Home键原创 2022-05-10 19:46:42 · 603 阅读 · 0 评论 -
Android报错:Cannot run program “su “: error=13, Permission denied
参考:Android:java.io.IOException: Cannot run program “/system/xbin/su”: error=13, Permission deniedCannot run program "su ": error=13, Permission denied in Android Application原创 2022-05-06 11:33:34 · 18151 阅读 · 0 评论 -
adb列出所有的应用
adb shell pm list packages | adb shell grep packageName原创 2022-04-27 18:31:13 · 5103 阅读 · 0 评论 -
adb清除应用的数据
adb shell pm clear packageName原创 2022-04-27 17:42:43 · 3669 阅读 · 0 评论 -
Android 显示任务栈
adb shell dumpsys activity -p packageName原创 2022-04-26 11:48:11 · 1558 阅读 · 0 评论 -
Android广播:BroadcastQueue: Background execution not allowed: receiving
system_process W/BroadcastQueue: Background execution not allowed: receiving Intent xxxxxxxx参考:隐式广播 BroadcastQueue: Background execution not allowed: receiving Intent USB_PERMISSION Android O 8.0原创 2022-04-22 15:39:45 · 1056 阅读 · 0 评论 -
Sending non-protected broadcast
Android发送广播时报错:Sending non-protected broadcast action_sensor_data from system xxxxxxxxxx原因:Ams在发送广播时,对于systemApp(系统应用),会要求发送广播必须是声明在frameworks\base\core\res\AndroidManifest.xml里面的protected-broadcast。这是为了提醒 系统应用开发者去将 broadcast 添加到protected-broadcast,因原创 2022-04-22 15:14:48 · 5622 阅读 · 0 评论 -
Android 代码授予悬浮窗权限
adb shell pm grant packageName android.permission.SYSTEM_ALERT_WINDOW原创 2022-04-22 15:05:13 · 3396 阅读 · 0 评论 -
Android 代码授予悬浮窗权限
adb shell pm grant packageName android.permission.SYSTEM_ALERT_WINDOW原创 2022-04-22 12:00:31 · 2063 阅读 · 0 评论 -
bluetoothGatt.disconnect()无效,还是保持着连接
bluetoothGatt.disconnect()无效,不能断开连接,还是与设备保持着连接,导致其他手机扫描不到这个设备参考:蓝牙bluetoothGatt.disconnect()和bluetoothGatt.close()两个方法的区别华为手机蓝牙调用 disconnect无效,手机还是和设备的蓝牙处于连接状态,为什么?...原创 2022-04-20 15:39:40 · 1632 阅读 · 0 评论 -
Android工具类blankj
获取mac地址:DeviceUtils.getMacAddress()原创 2022-04-15 17:16:58 · 1658 阅读 · 0 评论 -
org.eclipse.paho的mqtt消息的自动重连
paho的mqtt基本情况以及重连以及重新订阅机制设置原创 2022-04-13 18:32:29 · 2134 阅读 · 0 评论 -
FileDownloader使用
github地址:https://github.com/lingochamp/FileDownloader支持多任务下载支持多线程下载支持 断点续传添加依赖:dependencies { implementation 'com.liulishuo.filedownloader:library:1.7.3'}Application中初始化 FileDownloader:public class MyApplication extends Application {原创 2022-04-11 17:08:29 · 1037 阅读 · 2 评论 -
Android静默安装
原理静默安装、卸载的原理就是利用pm install命令来安装apk,pm uninstall 来卸载apk。智能安装是利用android系统提供的无障碍服务AccessibilityService,来模拟用户点击,从而自动安装。pm命令介绍(1) pm installpm install 命令的用法及参数解释如下:pm install [-l][-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATHpm命令介绍(1) pm installp原创 2022-04-01 11:19:33 · 4110 阅读 · 0 评论 -
Android之包安装PackageInstallerActivity
Android7.0以前的安装方式比较简单:File apk = new File(...); Uri uri = Uri.fromFile(apk); Intent intent = new Intent(); intent.setClassName("com.android.packageinstaller", "com.android.packageinstaller.PackageInstallerActivity"); intent.setData(uri); intent.addFl原创 2022-04-01 10:40:10 · 3369 阅读 · 0 评论 -
adb 截屏
//截屏adb shell screencap -p /sdcard/test.png//拉去到电脑中adb pull /sdcard/test.png原创 2022-03-31 17:52:02 · 5036 阅读 · 0 评论 -
adb shell启动进程/杀掉进程
启动应用:adb shell am start packageName/ActivityName关闭应用:adb shell am force-stop com.sairobo.setting原创 2022-03-21 16:43:48 · 2857 阅读 · 0 评论 -
Android中Button的默认高度是多少
Button的高度写了个比较小的数值,但是不起作用,为啥?如果app的theme设置了Theme是:<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>则Button是有默认高度的: <style name="Widget.AppCompat.ActionButton" parent="Base.Widget.AppCompat.ActionButton"/>原创 2022-03-17 17:28:30 · 2998 阅读 · 0 评论 -
蓝牙GATT协议
原文:Introduction to Bluetooth Low Energy ,作为 BLE 的入门时介绍是非常合适的。现在低功耗蓝牙连接都是建立在 GATT (Generic Attribute Profile) 协议之上。GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短的数据段被称为属性(Attribute)。GAP详细介绍 GATT 之前,需要了解 GAP(Generic Access Profile),它在用来控制设备连接和广播。GAP 使你的设备被其他设备可见,并原创 2022-03-16 20:20:58 · 4441 阅读 · 0 评论 -
idea工具
https://gitee.com/pengzhile/ide-eval-resetter原创 2022-03-08 14:22:59 · 1504 阅读 · 0 评论 -
如何将android程序的权限提升到system权限
如何将android程序的权限提升到system权限?两步:1、在AndroidManifest.xml中,在manifest加入android:sharedUserId=“android.uid.system”。2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE := platform。通过这种方式只能使apk的权限升级到system级别,系统中要求root权限才能访问的文件,apk还是不能访问。比如在android 的API原创 2022-03-07 11:22:22 · 3235 阅读 · 0 评论 -
Android UID相关知识
uid pid gid gids 的含义和作用uid 的分配查看应用UID 的几种方式通过uid获取包名,通过包名获取uiduid pid gid gids 的含义和作用原创 2022-03-07 10:18:58 · 3816 阅读 · 0 评论 -
armeabi、armeabi-v7a、arm64-v8a区别
armeabiarmeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。armeabi就是针对普通的或旧的arm v5 cpuarmeabi-v7aarmeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它。armeabi-v7a是针对有浮点运算或高级扩展功能的arm v7 cpuarm64-v8a第8代、64位ARM处理器,三星 Galaxy S6是其中之一。...原创 2022-03-03 16:38:29 · 9190 阅读 · 0 评论 -
This is a CONNECT tunnel, through which encrypted HTTPS traffic flows.
使用fiddler时,有一种情况,Host都是tunnel to, URL后边都带着443,这是什么意思呢?查看请求头会发现使用了Connect方法,Connect方法通常会建议代理(fiddler)与目标服务器建立http tunnel;尽管Connect也可以用于http请求,但是一般是用于SSL通信;CONNECT www.google.com:443 ...原创 2022-03-02 11:37:20 · 4692 阅读 · 1 评论 -
Android GridLayout 动态添加控件,平均分配空间
for (int i = 0, j = list.size(); i < j; i++) { ...... View functionView = new View(getContext()); functionView.setBackgroundResource(iconResId); ...... //使用Spec定义子控件的位置和比重 GridLayout.Spec rowSpec = GridLayout.spec(i / 3原创 2022-03-01 10:47:42 · 2240 阅读 · 0 评论 -
蓝牙与wifi区别
蓝牙使用IEEE 802.15协议IEEE 802.15是由IEEE制定的一种蓝牙无线通信规范标准,基于蓝牙的个人局域网(Personal Area Networks, PAN)标准,应用于无线个人区域网(WPAN)。IEEE 802.15具有以下特征:短距离、低功耗、低成本、小型网络及通信设备,适用于个人操作空间。WIFI使用IEEE 802.11协议802.11协议组是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。虽然WI-FI使用了802.11的媒体访问控制层(MAC)和物理层原创 2022-02-22 16:18:49 · 7743 阅读 · 0 评论 -
HTTP之SSE技术
SSE简介SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议。严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来要发送流信息时,客户端就会保持连接打开,SSE 使用的就是这种原理。SSE 是 Server-Sent Events 的简称, 是一种服务器端到客户端(浏览器)的单项消息推送。相比于 WebSocket,SSE 简单不少,服务器端和客户端工做量都要小不少、简单不少,同时实现的功能也有局限。SS原创 2022-02-21 14:04:07 · 20855 阅读 · 1 评论 -
JS的EventSource实时接收服务端推送的数据
使用EventSource类 var es = new EventSource("http://localhost:8080/Home/GetNotices?user=lxw"); es.onmessage = function (event) { //var data = JSON.parse(event.data); //$('#msgCount').text(data + "</br&原创 2022-02-21 11:50:22 · 2620 阅读 · 0 评论 -
ADB 基本命令
adb devices:获取所有设备的 serialNumberadb [-s <serialNumber>] <command>:为指定的serialNumber设备执行命令adb [-s <IP:Post>] <command>:为指定的无线设备执行命令adb shell wm size:获取屏幕分辨率adb start-server:启动adb kill-server:停止adb version:版本adb shell pm list pa原创 2022-02-15 13:55:34 · 1286 阅读 · 0 评论 -
cmd命令的使用
将执行结果输入到文件中@echo offadb devices >> .\ConnectDevice.txtpause读取文件的第二行内容:@echo offfor /f "tokens=*" %%a in ('more +1 "ConnectDevice.txt"') do ( set "var=%%a" echo var=%%a if defined var ( echo var is not empty ) else echo var is empty)原创 2022-02-14 11:20:43 · 290 阅读 · 0 评论 -
cmd命令执行结果赋值给变量
例如,希望把git代码的commitid获取以后加到文件夹上来标记文件夹中的包是哪个git 节点构建得到的。git 命令是git rev-parse --short HEAD在linux系统下,只需要执行下面的命令:commitid=`git rev-parse --short HEAD` echo commitid=$commitid但是在windows系统下,却不能直接使用单引号,要使用for变通下,命令如下:for /F %%i in ('git rev-parse --short H原创 2022-02-14 10:54:13 · 12328 阅读 · 0 评论