Jenkins搭建集成部署与使用

Jenkins安装下载地址:https://jenkins.io/zh/安装文档:https://jenkins.io/zh/doc/pipeline/tour/getting-started/按照默认的推荐完成安装即可。插件和全局配置jdk配置android sdk配置android ndk配置gradle配置git配置这些就不多说了,本地的话应该都有了,如果部署到远程服务器上的话得安装一下。安装Jenkins插件Manage Jenkins >> Manage Plu
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

For security reasons, WebView is not allowed in privileged processes

Hook解决系统应用不能创建WebView问题分析问题首先我们在系统应用中创建WebView的时候会报UnsupportedOperationException异常并会抛出一个问题:“For security reasons, WebView is not allowed in privileged processes”我们根据抛出的问题去https://cs.android.com/源码网站找到和WebView相关的类找到类中具体抛出错误的代码如下:@UnsupportedAppUsage
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

MQTT在IOT领域的应用以及如何搭建一套IOT服务到设备的系统(持续更新...)

应用中文文档
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Android生成和内置一个系统App

内置一个App到系统目录生成系统应用和配置1.Android系统签名,两种方式对Apk重新签名libconscrypt_openjdk_jni.dylib 是signapk.jar执行需要的动态库,是编译安卓源码生成的 mac环境在Android/aosp/out/host/darwin-x86/lib64/目录下,重新签名需要用到。platform.x509.pem 和 platform.pk8 为rom的证书,秘钥等信息,如果不一致会安装不了。使用signapk.jar和系统签名信息重新
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

(1)MQTT ActiveMQ 服务器搭建

ActiveMQ下载1.ActiveMQ下载链接从他的首页进去下载不了所以从上边这个地址进去可以下载ActiveMQ启动停止重启下载完成后解压到一个你熟悉的文件夹下边cd /Users/xxx/activeMq/apache-activemq-5.15.13/bin/macosx/执行activemq start然后提示:关闭activemq stop重新启动activemq restart最后在浏览器中打开:http://127.0.0.1:8161/admin/用户
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

(2)MQTT客户端连接测试

前言通过文章(1)搭建好了ActiveMQ服务并启动之后,我们需要通过MQTT客户端测试连通性。下载MQTT客户端MQTT下载地址根据自己的需求下载相应的客户端我下载的是dmg也就是Mac下的客户端。配置和使用安装软件成功后打开。认识界面配置服务器http://192.168.1.94:8161/admin/ 或者是http://127.0.0.1:8161/admin/ 这是管理后台的地址。要想查看broker服务器的地址需要打开/Users/xxx/activeMq/ap
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

(3)MQTT在Android端应用

前言我们搭建好并测通了MQTT.fx的Broker服务器,现在我们想要用Android客户点去和服务器通信。和Android通信有一套已有的库就是Paho Android Service。Paho Android Service是一个基于Java语言的Paho MQTT库开发的MQTT客户端服务包。接入在build.gradle中添加仓库地址maven { url "https://repo.eclipse.org/content/repositories/paho-snapsho
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Android卡顿分析

Systrace生成trace.html分析卡顿python Library/Android/sdk/platform-tools/systrace/systrace.py -t 20 sched gfx view wm am app webview -a "com.xxx.xxx" -o /Users/xxx/Desktop/mytrace.html指定参数-t:指定统计时间为20s。shced:cpu调度信息。gfx:图形信息。view:视图。wm:窗口管理。am:活动管理。app:
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Android ANR问题产生和分析

ANR产生原因1.ANR(Application Not Response 应用程序无响应)。2.如果 Android 应用的界面线程处于阻塞状态的时间过长,会触发“应用无响应”(ANR) 错误。如果应用位于前台,系统会向用户显示一个对话框,如下图所示。ANR 对话框会为用户提供强行退出应用的选项。3.何时会触发InputDispatching Timeout:5秒内无法响应屏幕触摸事件或键盘输入事件BroadcastQueue Timeout :在执行前台广播(BroadcastReceive
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

RxJava中遇到的坑持续更新...

RxJava中遇到的坑1.线程无限创建在轮询的请求中使用.subscribeOn(Schedulers.io())可能会导致无限创建线程问题。Schedulers是RxJava的主要组件之一。负责在不同线程上执行Observable的操作,便于将耗时任务分摊到其他线程。我们这里需要连了解下Schedulers下的Scheduler的属性:IOScheduler最常见的调度器之一。用于IO相关操作。比如网络请求和文件操作。IO 调度器背后由线程池支撑。它首先创建一个工作线程,可以复用于其他操作。
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Dalvik和ART编译方式的演进以及Android N混合编译对热修复的影响

简介在 Android 中,Java 类被转换成 DEX 字节码。DEX 字节码通过 ART 或者 Dalvik 转换成机器码。而DEX 字节码 转换成机器码的编译方式,ART 和 Dalvik是不同的:Dalvik 使用 JIT(Just in time)编译而 ART 使用 AOT(Ahead of time)编译。而ART虚拟机在编译方式在7.0之后变成了AOT+JIT混合方式。为啥要了解因为Android中的热修复等技术会受到编译方式的影响,导致老的热修复方式失效。具体的影响还没有去看,后
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

设计模式六大设计原则

优化代码第一步——单一职责原则**单一职责原则**Single Responsibility Principle(SRP)。 就一个类而言,应该仅有一个引起它变化的原因。
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Flutter键盘弹出关闭监听

遇到问题在使用PinCodeField验证码控件的时候遇到一个问题,在Android上边,点击返回或者点击键盘右上角的关闭键盘是不会触发PinCodeField失去焦点的所以导致关闭键盘之后,PinCodeField一直处于获取焦点的状态,无法再次点击使PinCodeField获取焦点弹出键盘,所以我们要监听键盘的弹出和关闭去设置相应的焦点状态。解决方案第一种使用keyboard_visibility三方库keyboard_visibility键盘弹出关闭监听这个开发者已经很久没更新了,所以我把代
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

Android Persistent常驻内存分析

Persistence常驻内存分析简介通过官方注释我知道该属性用于是否让你的应用一直处于运行状态(通常说的常驻内存)。设置android:persistent属性为true的app具有如下特点:在系统启动的时候会被系统启动起来。在该app被强制杀掉后系统会重新启动该app,这种情况只针对系统内置app,第三方安装的app不会被重启这个地方在9.0以后包括9.0我不知道是否还有效,看源码我有点困惑。这里我们分析的代码是Android10.0的源码。使用在AndroidManifest文件下
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

尝鲜:Gradle构建SpringBoot(2.3.1最新版)

风吹来的消息今天看了一篇博客Spring Boot 把 Maven 干掉了!就一直想自己构建下。生成项目进入这个网站生成SpringBoot的Demo项目。如下:导出项目之后解压放到某个目录下然后倒入IDEA。导入项目选择open,然后选择你的解压好的项目,一般解压好就叫demo,冲突的话自己改名。然后选择一个JDK环境就OK了直接下一步。图中右下角的问题是因为我的gradle版本太高了我的idea版本太低导致的,但是设置的版本太低或者不是指定版本的就会报错如下图:所以为了避
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

LeetCode初级算法训练-数组(完成)

简介LeetCode初级算法简介本来想重初中级和企业面试算法开始的,但是最后还是选择从基础的开始,因为我们并不是为了刷题而刷题,而是在刷题过程中锻炼一种算法思维,在大量的训练之后形成一种对算法的独特见解,培养那种对算法的的敏感度,看到题目,大脑中可以浮现一个解题蓝图,而且从初级开始慢慢建立信心,而且这也是在为后边复杂算法的解题思路打基础。如果你也想训练自己的算法思维,也可以加入我,从初级算法开始,开启你的算法之旅:初级算法。切忌:不要在看完题目后直接就看答案,然后去背题,这样行成的算法记忆是不牢固的
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

LeetCode初级算法训练-字符串(完成)

简介LeetCode初级算法简介下一篇:LeetCode初级算法训练-链表 还未开始。本来想重初中级和企业面试算法开始的,但是最后还是选择从基础的开始,因为我们并不是为了刷题而刷题,而是在刷题过程中锻炼一种算法思维,在大量的训练之后形成一种对算法的独特见解,培养那种对算法的的敏感度,看到题目,大脑中可以浮现一个解题蓝图,而且从初级开始慢慢建立信心,而且这也是在为后边复杂算法的解题思路打基础。如果你也想训练自己的算法思维,也可以加入我,从初级算法开始,开启你的算法之旅:初级算法。自己的一些思考:不要
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

LeetCode初级算法训练-链表(完成)

简介下一篇:LeetCode初级算法训练-链表 还未开始。本来想重初中级和企业面试算法开始的,但是最后还是选择从基础的开始,因为我们并不是为了刷题而刷题,而是在刷题过程中锻炼一种算法思维,在大量的训练之后形成一种对算法的独特见解,培养那种对算法的的敏感度,看到题目,大脑中可以浮现一个解题蓝图,而且从初级开始慢慢建立信心,而且这也是在为后边复杂算法的解题思路打基础。LeetCode初级算法简介如果你也想训练自己的算法思维,也可以加入我,从初级算法开始,开启你的算法之旅:初级算法。自己的一些思考:不要
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

LeetCode初级算法训练-树(完成)

简介上一篇 : LeetCode初级算法训练-链表下一篇 : LeetCode初级算法训练-xxxxxx本来想重初中级和企业面试算法开始的,但是最后还是选择从基础的开始,因为我们并不是为了刷题而刷题,而是在刷题过程中锻炼一种算法思维,在大量的训练之后形成一种对算法的独特见解,培养那种对算法的的敏感度,看到题目,大脑中可以浮现一个解题蓝图,而且从初级开始慢慢建立信心,而且这也是在为后边复杂算法的解题思路打基础。LeetCode初级算法简介如果你也想训练自己的算法思维,也可以加入我,从初级算法开始,开
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0

LeetCode初级算法训练-排序和搜索(完成)

简介上一篇 : LeetCode初级算法训练-树下一篇 : LeetCode初级算法训练-xxxxx本来想重初中级和企业面试算法开始的,但是最后还是选择从基础的开始,因为我们并不是为了刷题而刷题,而是在刷题过程中锻炼一种算法思维,在大量的训练之后形成一种对算法的独特见解,培养那种对算法的的敏感度,看到题目,大脑中可以浮现一个解题蓝图,而且从初级开始慢慢建立信心,而且这也是在为后边复杂算法的解题思路打基础。LeetCode初级算法简介如果你也想训练自己的算法思维,也可以加入我,从初级算法开始,开启你
分类: 其他 发布时间: 09-22 12:56 阅读次数: 0