自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝色的天空的博客

For a better tomorrow.

  • 博客(242)
  • 资源 (19)
  • 收藏
  • 关注

原创 gradle打印task及产物

【代码】gradle打印task及产物。

2024-06-15 14:07:40 113

原创 下载gradle源码

c 仅下载当前分支。

2024-04-08 15:39:26 140

原创 gradle源

【代码】gradle源。

2024-01-25 21:16:26 429

原创 Android Studio历史版本下载

Android Studio download archives | Android Developers

2024-01-11 09:42:16 497

原创 Android Gradle Plugin、Gradle、Android Studio版本关系

Android Studio 构建系统以 Gradle 为基础,并且 Android Gradle 插件 (AGP) 添加了几项专用于构建 Android 应用的功能。所要求的版本,可能会导致意外问题。我们建议您使用最新的预览版 Android Studio 和 AGP 来处理以预览版 Android OS 为目标平台的项目。如果使用的 Android Studio 或 AGP 版本低于项目的。如果您的项目不受某个特定版本的 Android Studio 支持,您仍然可以使用。

2024-01-11 09:33:38 2317

原创 nginx的一些命令

start nginx 开启 /usr/sbin/nginx(直接启动)nginx -s stop 停止nginx -s quit 安全停止,保存信息nginx -s reload 当配置信息修改,需要重新载入这些配置时使用此命令nginx -s reopen 重新启动nginx -v 查看Nginx版本nginx -t 查看配置是否正确netstat -ntlp 端口情况。

2023-11-26 18:29:19 262

原创 windows下安装redis并在后台静默开启

双击 redis.vbe 文件,redis服务就已经在后台安安静静地提供服务了。虽然双击后没有交互响应,但可以在任务管理器中查看。在redis安装目录新建 redis.bat。再新建 redis.vbe。

2023-11-26 18:28:04 157

原创 redisserver一闪而过 redis闪退解决版本

1.进入Redis根目录2.输入redis-server 或启动redis命令,看是否成功。执。

2023-11-26 18:24:58 1656

原创 Android混淆 ProGuard进阶

Android混淆是一种安全措施,其作用包括:防止反编译:混淆会对代码进行重命名和重组,使得反编译后的代码难以理解和复原,从而增加攻击者分析和理解代码的难度。隐藏敏感信息:混淆可以将一些敏感信息(如API密钥、数据库密码等)进行替换、加密或隐藏,以防止攻击者获取和利用这些信息。减小应用大小:混淆可以移除未使用的代码和资源,从而减小应用的大小,提高运行效率和加载速度。优化代码:混淆可以对代码进行优化,去除冗余代码、内联方法、合并变量等,从而提高应用的性能和响应速度。

2023-09-19 16:43:20 174

原创 通过插件去除Kotlin混淆去除 @Metadata标记

在某些Kotlin类文件编译后会留下@Metadata 注解,其中包含重要信息,导致混淆无用。目前尝试的是将本地项目移动到unmeta项目进行发布aar的方式,是可以使用的。插件,能够在打包时移除class中的Metadata标签信息。

2023-09-19 11:23:27 761

原创 AAPT: error: resource android:attr/fontVariationSettings not found and resource android:attr/ttcInde

compileSdkVersion版本过低

2023-09-19 11:16:04 846

原创 Android Studio:Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

原项目使用jdk8,升级gradle后出现的该问题。

2023-08-17 09:45:33 1512

原创 解决:xxx has been compiled by a more recent version of the Java Runtime (class file version 55.0)

当前类是由jdk1.8版本编译,当前运行环境低于jdk1.8,故出现当前情况。java code和name对应关系。

2023-08-14 16:46:34 1060

原创 解决MAC M1处理器运行Android protoc时出现的错误

Protobuf是Google开发的一种新的结构化数据存储格式,一般用于结构化数据的序列化,也就是我们常说的数据序列化。这个序列化协议非常轻量级和高效,并且是跨平台的。目前,它支持多种主流语言,比传统的XML、JSON等方法更具优势。详细信息请参考:Google protocol buffer。但是,最近在使用Protobuf时,报告了以下错误。解决方案是修改协议地址。解决方案是修改protoc的地址。因此,我们只需要找到下面的代码。

2023-08-07 09:16:05 1399

原创 Task:app:compileDebugJavaWithJavac FAILED

在compileSdkVersion 32的情况下,项目默认使用的是jdk 8,调整到jdk 11后问题解决。最后终于找到原因,是编译版本的问题。

2023-08-07 09:08:43 794

原创 Android Studio 报错:Failed to create Jar file xxxxx.jar

目录,故通过其他项目复制到当前项目,就解决了该问题。原因:gradle版本过低,修改到java1.8即可。查看agp和gradle的版本关系。通过分析,新下载的项目没有。同时也出现了新的问题。

2023-08-04 14:45:14 2500

原创 compileSdkVersion 30打包混淆报错(Unsupported class version number [53.0] (maximum 52.0, Java 1.8))

在gradle3.0.1、gradle-wrappergradle-4.9情况下,如果开启了混淆,compileSdkVersion能够支持28,但是如果调整为compileSdkVersion 30,就会出现版本不支持的问题。通过多次尝试,应该是因为gradle版本对应的Proguard版本有关,较低版本的Proguard无法支持更高版本的sdk(compileSdkVersion)去编译,故升级gradle版本。

2023-07-06 09:39:18 723

原创 AGP7.4.0打包task

【代码】AGP7.4.0打包task。

2023-07-06 09:35:58 309

原创 AGP4.2.2打包task

【代码】AGP4.2.2打包task。

2023-07-06 09:34:47 130

原创 The Android extensions (‘kotlin-android-extensions‘) compiler plugin is no longer supported

使用“Kotlinparcelize”和“view binding”代替,提供的链接(https://goo.gle/kotlin-android-extensions-deprecation)提供了更多关于“kotlin-android-extensions”插件弃用的信息。起原因是废弃了kotlin-android-extensions插件。使用高版本kotlin-gradle-plugin时,出现的提示。

2023-07-04 11:06:02 1042

原创 Android Gradle4.2之后禁用资源混淆压缩

在gradle4.2开始我们可以在gradle.properties文件内添加 android.enableResourceOptimizations=false 来禁止资源混淆。使用Gradle4.2编译项目发现,res下的layout,drawable 等目录都被移除,所有 的资源都放到了res下 且资源名称被混淆为随机字符。在gradle4.2之前可以在gradle.properties 添加 android.enableR8=false 来禁止使用r8。在gradle3.4.0后r8 默认开启,

2023-06-09 17:54:15 668

原创 介绍 TensorFlow 的基本概念和使用场景。

Graph:TensorFlow 中描述计算流程的抽象概念,包含了一系列操作(Operation)和变量(Variable)之间的依赖关系。推荐系统:TensorFlow 可以建立推荐系统的模型,根据用户的历史行为和偏好,为用户推荐合适的商品或服务。Tensor:TensorFlow 中的基本数据类型,可以看作是一个多维数组,可以是常量和变量。操作(Operation):操作是图的节点,每个操作都对输入的张量做一些计算,生成输出张量。变量(Variable):变量是图中的状态,可以在计算时被修改。

2023-05-26 17:11:09 695

原创 javassist 字节码处理库

我们知道Java字节码以二进制的形式存储在class文件中,每一个class文件包含一个Java类或接口。Javaassist 就是一个用来处理Java字节码的类库。在Javassist 中,类CtClass表示class文件。我们可以用javassist类库实现动态创建类、添加类的属性和方法、设置类的父类,以及修改类的方法等操作。Javassist不允许删除方法或字段,但它允许更改名称。

2023-04-21 09:32:35 444 1

原创 Javadoc 使用指南

Javadoc用于描述类或者方法的作用。Javadoc可以写在类上面和方法上面。只有@关键字的内容才会被生成到文档中。标签描述示例@author标识一个类的作者指名一个过期的类或成员{@docRoot}指明当前文档根目录的路径@exception标志一个类抛出的异常从直接父类继承的注释{@link}插入一个到另一个主题的链接插入一个到另一个主题的链接,但是该链接显示纯文本字体@param说明一个方法的参数@return说明返回值类型@see指定一个到另一个主题的链接。

2022-09-07 09:43:09 2282

原创 Android内存泄漏问题排查分析及常见解决方案

在Android开发过程中,当一个对象已经不需要再使用了,本该被回收时,而另个正在使用的对象持有它引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。

2022-09-07 09:38:09 6180 5

原创 Android Context 归因标记

在Context类中的注释的解释如下:返回一个新的不同标记的上线文对象…用于特别场景下需要区分context来源时使用。

2022-09-03 14:05:41 862

原创 android studio 功能调优配置

android studio 功能调优配置

2022-08-25 14:56:49 1211

原创 【转载】什么是架构师

对于任何一个软件开发人员来说,架构师都是一个令人向往的角色。就连世界首富比尔盖茨在2000年卸任公司CEO的同时,也担任了微软公司的荣誉角色“首席软件架构师”,可见“架构师”这一称谓的吸引力。架构师是公司的“金领”,有着非常高的收入,很少需要考虑生存的问题,从而有更多的精力思考关键技术问题,形成“强者愈强”的良性循环。部分优秀的开发人员在工作了一定时间后,就要开始考虑自己的未来到底向哪个方向发展。如果开发人员的沟通能力强过技术能力,在补充一定的项目管理知识后,可以向技术管理的方向转型。如果其对技术一直很感兴

2022-08-18 09:19:05 848

原创 【转载】杂谈系统架构师

架构的可退化性是非常重要的,否则一旦出现抽象泄露,需要超出原有架构设计做出编码补充的时候,往往无法将代码自然的融入原有的框架结构,则整个框架出现大面积的失效情况。而有的时候更糟糕的情况是一些关键性的资源处在原有技术架构的私有控制之中,我们为了克服架构限制不得不采用各种trick来hack原有框架,造成错误的累加和传播,而补丁的补丁是最难维护的。架构师未必是团队的领导者。当然,在国内的现实情况下,很多所谓的架构师所做的最重要的工作可能是公关工作, 向客户秀出所谓的理念,与实际开发是不搭嘎的。...

2022-08-18 09:17:03 170

原创 Android App links 链接打开app功能

Android App Links是6.0以后才支持的链接方式,APP通过定义一组你自有的HTTP URL将该其设置为系统的默认打开对应域名的地址的应用(注意区分:不是6.0以下的默认打开某类数据)。当用户点击了包含你的域名的链接时,系统默认用你的APP打开该链接,如果用户手机未安装你的APP,那么会直接用浏览器打开。2、无缝的用户体验:因为只有自己的APP可以打开,所以不会出现让用户选择哪个应用的打开的弹框,如果用户没有安装你的APP,则直接用浏览器打开。2、如果只有一个应用能打开,则直接用该应用打开;.

2022-08-17 15:47:47 7711

原创 android知识技能树

android知识技能树

2022-07-29 13:38:04 573

原创 APP性能优化之启动流程分析

Android系统已经启动完毕,一些核心的服务也已经启动完毕,然后启动Launcher应用。App进程什么时候被创建?当一个应用调用另一个应用中的页面之时,如果目标进程不存在,则会创建一个新的进程并启动。Application启动流程先看下流程图接下来就说App进程的创建过程了。App进程的创建这个时候进程已经创建完毕,但是如何与应用自身的Application联系起来呢?Application的绑定以下是部分源码片段ActivityThread.javasendMessage(H.BIND_APPLICA

2022-06-21 14:09:01 1222

原创 Rxjava 操作符之辩解map和flatmap的区别

都是依赖FuncX(入参,返回值)进行转换(将一个类型依据程序逻辑转换成另一种类型,根据入参和返回值)都能在转换后直接被subscribemap返回的是结果集,flatmap返回的是包含结果集的Observable(返回结果不同)map被订阅时每传递一个事件执行一次onNext方法,flatmap多用于多对多,一对多,再被转化为多个时,一般利用from/just进行一一分发,被订阅时将所有数据传递完毕汇总到一个Observable然后一一执行onNext方法(执行顺序不同)>>>>(如单纯用于一对一转换

2022-06-09 15:13:01 1257

原创 毛玻璃-高斯模糊工具类BlurUtil

目前在android上很少见到毛玻璃效果,我认为很重要的原因是性能问题,虚化一张图片所需要的时间会因设备而异,如果为了虚化使得用户需要刻意等待,那么就是弊大于利。另外,Google官方提供的renderScript一般只是做一些小幅度的虚化,很难达到毛玻璃这类深度虚化效果。建议对静态的内容做高斯模糊,不要在滑动或者定时地进行计算刷新......

2022-06-06 16:20:01 485

原创 Android打包合并多个清单文件

合并优先级合并工具会根据每个清单文件的优先级按顺序合并,将所有清单文件组合到一个文件中。例如,如果您有三个清单文件,则会先将优先级最低的清单合并到优先级第二高的清单中,然后再将合并后的清单合并到优先级最高的清单中,如图 1 所示。 https://developer.android.google.cn/studio/build/manifest-merge.html合并规则标记合并规则标记是一个 XML 属性,可用于指定您对如何解决合并冲突或移除不需要的元素和属性的偏好。您可以对整个元素应用标记,也

2022-05-13 13:44:21 2581

原创 Android APP性能优化之启动流程分析

1.背景APP启动时长会很大影响用户的体验,对于产品的评价以及用户的心情都有不少的影响。对优路教育APP进行启动优化检测,通过相关检测,排查出启动耗时较长的逻辑,进行优化,想要进一步降低启动时间对用户的影响。2.目标对应用的启动流程进行分析,找到可以优化的地方,结合当前项目进行优化。3.过程在说应用的启动流程之前,得先了解一下Android系统的启动流程,因为Application的启动是离不开系统的处理的。1.Android系统的启动过程分析BootLoader启动内核和init进程;i

2022-04-30 17:20:15 1124

原创 Android Studio 插件记录

android studio常用的插件

2022-04-22 09:05:31 3034

转载 android studio Gradle7.0发布内容到Maven仓库

Gradle6.x及以下版本的使用apply plugin: 'maven' uploadArchives { repositories { mavenDeployer { repository(url: url//私有maven库地址) { authentication(userName//账号, password// 密码) } pom.version = version

2022-04-18 17:17:57 1242

原创 Android清除WebView的localStorage

关于webview的缓存,在不同设备上会有不同的目录。APP的登录状态和H5的登录状态常常因为某些原因不能同步。故想要每次关闭webview页面时,都可以清除h5缓存的数据。通过分析,web页面常用的存储有:cookie、localStorage、session最终实现用一下方法清除缓存(有时会失效,极小概率)WebStorage.getInstance().deleteAllData();当然,也尝试过其他方法CookieSyncManager.createInstance(getAppl

2022-04-12 15:15:39 2911

原创 Dart 单例

工厂构造 Factory constructorclass Singleton{ Singleton._privateConstructor(){ //todo 私有构造方法 } static final Singleton _instance = Singleton._privateConstructor(); factory Singleton(){ return _instance; }}void main() { Singleton s = Single

2022-04-09 16:31:58 449

远程连接工具xshell免费版

一款高效专业的实用型免费SSH客户端。XShell5简单强悍,支持标签式的环境,动态端口转发,自定义键的映射关系,用户定义的按钮,VB脚本,显示2字节字符和国际语言支持UNICODE的终端。

2020-11-20

XposedDemo用于替换设备imei

XposedDemo用于替换设备imei,通过配置好的xposed的设备上运行,就可以看到imei被替换掉了

2020-09-14

ActionOpenPdfDocument.zip

原生PdfRenderer打开pdf文件,数行代码即可实现,且分页功能。代码中有详细的步骤和说明。

2020-09-14

修改Proguard混淆规则,自定义字符集

修改Proguard混淆规则,自定义字符集,使用详情https://blog.csdn.net/u011106915/article/details/84636592

2018-11-29

jni代码资源

代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资源代码资

2018-05-10

Android SVG动画animated-vector使用Demo

使用查看http://blog.csdn.net/u011106915/article/details/77502856

2017-08-23

友盟分享简单demo

友盟分享简单demo

2017-08-15

Android图片选择器

支持本地图片选择、拍照、裁剪

2017-08-09

Android AccountManager账户管理详解

Android AccountManager账户管理详解

2017-04-21

Android逆向助手

Android逆向助手

2017-02-20

仿QQ的头像选择弹出的对话框

2017-01-13

自定义单选、多选对话框及popwindow窗口实例源码

2017-01-13

android-styled-dialogs 可自定义样式对话框

2017-01-13

android 自定义对话框

2017-01-13

阿里百川热修复HotFixDemo1.4.0

博客地址;http://blog.csdn.net/u011106915/article/details/54021012

2017-01-05

阿里百川热修复HotFix1.4.0Demo

阿里百川热修复HotFixDemo,博客地址;http://blog.csdn.net/u011106915/article/details/54021012

2017-01-04

Android透明状态栏demo

Android透明状态栏

2016-09-22

友盟社会化分享 及自定义分享页面

友盟社会化分享 及自定义分享页面

2016-08-02

Android 五中常用的Dialog使用

Android 五中常用的Dialog使用: 1. 确定取消对话框; 2. 单选对话框 3. 带单选按钮的对话框 4. 多选对话框 5. 带进度条话框

2016-08-01

空空如也

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

TA关注的人

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