Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江上清风山间明月的博客

编程十多年,之前的学习和工作没有积累和输出,改变下,学习和总结的时候顺手写点总结

  • 博客(210)
  • 收藏
  • 关注

原创 Android复杂问题分析工具bugreportz详解

bugreportz是 Android 中一个用来收集设备状态信息的工具,它能够生成压缩格式的系统 bug 报告。与传统的bugreport工具相比,bugreportz更高效,能够将整个报告打包成一个压缩文件(通常是.zip格式),方便用户发送、分享或进一步分析。通过合理利用 bug 报告中的不同文件,开发者可以获取全面的设备状态和运行信息,从而定位和解决 Android 系统或应用中的各种问题。结束语。

2024-10-11 10:05:54 453 2

原创 shell脚本使用==判断相等报错

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!解释器) 可能不支持它。的 shell,但你更喜欢用双等号,可以强制脚本在。总结来说,推荐的修复方法是使用 POSIX 兼容的。比较符来确保脚本能在更多的环境中运行。如果你的系统上默认的 shell 是。这个错误的原因是你使用了。

2024-09-28 11:56:45 558

原创 repo 查看指定日期内,哪些仓库有修改,具体的修改详情

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。比如要仅显示在 2024 年 9 月 1 日至 2024 年 9 月 13 日之间有更改的仓库,并显示这些仓库的修改详情,可以通过在。这样,只有在指定时间段内有提交更改的仓库会显示出来,其他没有更改的仓库将被忽略。这样,你可以一目了然地查看在每个提交中都修改了哪些文件,以及对应的提交详情。如果你想查看在指定日期范围内,修改了哪些文件、是谁修改的、以及。

2024-09-28 11:52:26 325

原创 Linux shell脚本set -e的作用详解

set -e的作用是使脚本在遇到错误时立即退出,从而增加脚本的健壮性,确保在每一步执行过程中出现问题时不会继续执行后续命令。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

2024-09-27 10:38:52 478 1

原创 Android系统应用安装完成后是如何通知其他应用的?

应用在安装完成后,Android系统通过广播机制(主要是)通知其他应用。应用可以通过静态或动态方式注册广播接收器来监听这一事件,并获取新安装应用的包名来执行相应的处理。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

2024-09-27 08:47:08 1050

原创 repo 查看指定日期内,哪些仓库有修改,具体的修改详情

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。比如要仅显示在 2024 年 9 月 1 日至 2024 年 9 月 13 日之间有更改的仓库,并显示这些仓库的修改详情,可以通过在。这样,只有在指定时间段内有提交更改的仓库会显示出来,其他没有更改的仓库将被忽略。这样,你可以一目了然地查看在每个提交中都修改了哪些文件,以及对应的提交详情。如果你想查看在指定日期范围内,修改了哪些文件、是谁修改的、以及。

2024-09-25 19:11:27 471

原创 AIGC基础工具-用于数据分析和数据处理的核心库Pandas介绍

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。它由多个 Series 组成,每一列的数据都有相同的类型,但每列之间可以有不同类型的数据。是一种一维的数据结构,类似于 Python 的列表或 NumPy 的一维数组,但增加了标签索引 (index),即每个元素都有一个与之关联的索引值。Pandas 提供了丰富的数据操作功能,包括数据选择、过滤、排序、聚合等。Pandas 提供了强大的数据分组与聚合操作,通过。

2024-09-25 14:22:17 1062

原创 AIGC基础工具-科学计算和数据处理的重要库NumPy(Numerical Python)简介

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。通过 NumPy,你可以高效地进行各种科学计算与数据处理,它不仅简化了工作流程,还大大提升了计算的速度和效率,是 AI 和数据科学领域的基础工具。操作**:NumPy 中的数组操作通常是矢量化的,基于底层 C 实现,避免了 Python 循环,极大提升性能。NumPy 提供了多种创建数组的方式,除了直接通过列表或元组,还可以通过函数生成特定形状、数值范围的数组。

2024-09-24 16:58:57 1509

原创 普通程序员如何快速入门AIGC

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!要快速入门 AIGC(AI 生成内容,AI-Generated Content),你需要掌握人工智能、深度学习以及相关的生成技术。以下是一个详细的学习计划,帮助普通程序员逐步入门 AIGC。通过以上步骤,逐步提升 AI 生成内容领域的技能,掌握从理论到实践的全链路技术。

2024-09-22 16:01:49 1277

原创 git仓库服务器端损坏如何用本地code重新部署

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。这样,你就将本地的最新代码重新部署到了新服务器上,并且保留了之前的所有修改记录。这会将新服务器设为默认的远程仓库,方便你以后继续推送和拉取代码。现在需要将本地的代码和所有的历史记录推送到新服务器的仓库中。此时,代码已经拉取到新服务器上,你可以进行正常的部署操作了。这个命令会推送你本地的所有分支到新服务器上的仓库。在新服务器上,你需要创建一个新的 Git 仓库。

2024-09-22 09:19:44 603 1

原创 为什么git有些commit记录,只有git reflog可以看到,git log看不到?

git log只显示当前分支上的可达提交,即有分支或标签引用的提交。git reflog记录了所有本地引用(如HEAD)的变化,能够显示git log看不到的提交,尤其是那些通过resetrebase、分支删除等操作被“丢失”的提交。可以通过git reflog找到丢失的提交,并通过git reset或创建新分支来恢复这些提交。git reflog是一个非常有用的工具,特别是在你需要恢复意外丢失的提交时。结束语。

2024-09-21 09:21:58 1149

原创 git仓库服务器端损坏如何用本地code重新部署

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。这样,你就将本地的最新代码重新部署到了新服务器上,并且保留了之前的所有修改记录。这会将新服务器设为默认的远程仓库,方便你以后继续推送和拉取代码。现在需要将本地的代码和所有的历史记录推送到新服务器的仓库中。此时,代码已经拉取到新服务器上,你可以进行正常的部署操作了。这个命令会推送你本地的所有分支到新服务器上的仓库。在新服务器上,你需要创建一个新的 Git 仓库。

2024-09-21 09:19:53 268

原创 git reflog 和 git log 的详解和区别

git log是 Git 中最常用的命令之一,用于查看 Git 仓库的提交历史记录。它会显示一系列与项目历史相关的提交对象(commit),包括提交的哈希值、作者信息、日期和提交消息等。默认情况下,git log仅显示当前分支的提交历史记录。git reflog的作用是记录本地仓库中的每一次 “引用”(reference)的变化,包括 HEAD、分支或其他引用的移动。即使某些提交在git log中不可见,git reflog也能跟踪到它们。这使得git reflog。

2024-09-19 14:54:14 1350 1

原创 addbootargs命令详解

启动参数(Boot Args)是传递给 Linux 内核的一组命令行参数,用于在系统启动时配置内核的行为。这些参数通常定义了硬件配置、驱动程序设置、调试选项以及其他影响操作系统启动过程的配置。是一个非常有用的命令,它允许开发者和系统管理员在 Linux 或 Android 系统的启动过程中,向内核传递自定义的启动参数。通过这些参数,内核可以根据特定的配置要求调整其行为,帮助优化系统性能、进行调试、配置硬件、增强安全性等。它不仅简化了设备启动时的配置管理,还为设备开发和调试提供了极大的灵活性。结束语。

2024-09-19 08:48:41 762

原创 Android系统dumpsys命令详解

dumpsys是一个功能非常强大的调试工具,可以从 Android 设备中提取系统服务的状态信息。它在调试系统问题、性能问题以及开发应用时提供了有用的运行时信息。常见的使用场景包括分析电池使用、内存分配、应用生命周期管理等。如果遇到不支持的服务或权限限制,通常需要有 root 权限或设备特定的配置来查看某些特定的系统服务状态。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。

2024-09-14 17:52:52 1510

原创 git的快速合并fast-forward merge详解

快进合并是指在合并操作中,如果当前分支的历史完全包含在目标分支的历史中,Git 可以直接将当前分支指向目标分支的最新提交,而无需生成额外的合并提交。换句话说,Git 在这种情况下无需创建新提交来表示“合并”操作。没有分叉历史。它可以理解为“简单地向前移动分支指针”——历史是线性的,合并不会产生新的节点。快进合并是 Git 的一种合并方式,在没有分叉的情况下,Git 会简单地把当前分支指针移动到目标分支的最新提交上,不生成合并提交。

2024-09-12 15:45:42 1323

原创 git标签、repo如何打tag

Git标签是版本控制中的重要工具,用于标记代码库的特定状态。它们可以帮助团队更好地管理版本发布、代码状态、部署和回滚操作。理解和正确使用标签,可以大大提高项目管理和版本控制的效率。

2024-09-09 17:40:24 858

原创 Android.bp和Android.mk文件有的区别

基于Makefile语法,是文本文件,需要遵循Makefile的规则,配置起来可能比较复杂,需要手动处理依赖、目标等问题。:使用的是基于JSON的更现代化的声明式语法,更加简洁和易读。文件结构通常是模块声明的集合,每个模块包含各种属性,用于定义模块的源文件、依赖、编译选项等。:Soong系统基于Ninja,它被设计为高效处理大规模并行编译的需求,因此在大项目下编译速度更快,更高效。后者提供了更现代的语法,更好的性能和更高的可维护性。:代表了未来的趋势,新的项目和功能通常会直接在Soong系统中进行开发。

2024-08-21 09:42:59 935 1

原创 diff补丁文件应用详解git apply和patch方式对比

为了使脚本更实用和具有更强的容错能力,可以添加一些额外的功能,如在应用补丁前检查补丁是否可以应用,如果应用补丁时出错则回退修改,记录应用补丁的日志等。这个脚本会读取映射文件中的每一行,检查补丁文件和目标目录是否存在,然后进入目标目录并应用对应的补丁。要应用多个补丁文件,每个补丁文件应用到不同的代码路径,可以编写一个 shell 脚本来自动化这个过程。是一个通用的 Unix 工具,可以用于应用各种格式的补丁文件。这两个脚本都可以根据映射文件中的信息,将多个补丁文件应用到不同的目录中。

2024-08-16 13:37:28 970

原创 python实现每天定时发送邮件

如果使用的是 Gmail 发送电子邮件,请确保你的 Google 账户允许 “不太安全的应用访问”(虽然目前 Gmail 已经开始限制这个选项,可以考虑使用 App Passwords 代替)。以下是一个基本的 Python 脚本,它会从 Gmail 账户发送一封带有报告内容的电子邮件。要编写一个用于自动发送每日电子邮件报告的 Python 脚本,并配置它在每天的特定时间发送电子邮件,使用。: 对于启用了两步验证的账户,需要为脚本生成一个应用密码,而不是使用你的普通账户密码。库来发送电子邮件,结合。

2024-08-15 16:15:19 1814

原创 Android的AVB详解

Android Verified Boot (AVB) 是一种用于确保Android设备软件完整性和安全性的机制。它通过在设备启动时验证操作系统及其组件的完整性,来防止恶意软件或未经授权的软件篡改。AVB在引导过程中依次验证每个分区,确保其未被篡改。通过配置和实现AVB机制,设备制造商可以大幅提升Android设备的安全性,保护用户免受恶意软件和未经授权软件的侵害。

2024-08-15 10:44:53 952

原创 Android系统Android.bp文件详解

你可以在Android.bp编写Android.bp文件时,主要需要关注模块的类型、源文件、依赖关系以及需要设置的编译选项等。通过合理地组织模块和属性,可以有效地管理项目中的代码编译和构建过程。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

2024-08-09 18:11:15 1439

原创 git查看记录详解

你不仅可以查看提交记录,还可以通过一些选项查看文件的修改列表、修改差异,并以更友好的方式查看修改记录。这个命令会在每个提交记录后列出被修改的文件名及其状态(A:新增,M:修改,D:删除)。通过这些命令和选项,你可以更详细和友好地查看他人的代码修改记录、文件列表和具体差异。这个命令以单行格式显示每个提交记录,包含提交哈希和提交信息。这个命令会显示一个图形化的提交记录,包含分支和标签信息。这个命令会在每个提交记录后列出被修改的文件名。要查看提交中修改的文件列表,可以使用。要查看提交中的具体修改差异,可以使用。

2024-07-30 09:02:27 2062 1

原创 repo中的default.xml文件project name为什么一样?

在repo工具的文件中,定义了多个project元素,每个元素都代表一个 Git 仓库。XML 定义了多个不同的project元素,虽然它们的name属性是相同的,但是path和revision属性不同。name这个属性指定了 Git 仓库的名称或者路径,这意味着这两个项目指向同一个远程仓库。path这个属性指定了在本地工作区中检出的路径。这意味着虽然两个project指向同一个远程仓库,但它们会被检出到不同的本地目录。revision这个属性指定了要检出的特定分支、标签或提交。不同的revision。

2024-07-26 16:30:52 463 1

原创 uboot的mmc partconf命令

对第一个 MMC 设备(设备号0)进行操作。不强制设置启动分区。启用分区设置的确认功能。不设置任何启动分区(即保持当前分区设置,不做更改)。这个命令通常用于检查或确认当前的分区配置,而不是修改分区设置。通过启用确认功能,它确保分区配置的安全性和一致性。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。

2024-07-24 18:17:29 664 1

原创 Android的dtbo文件介绍

文件是 Android 设备中的设备树覆盖文件(Device Tree Blob Overlay)。设备树(Device Tree, DT)是一个数据结构,用于描述硬件配置,告诉操作系统如何访问和控制硬件。(设备树二进制文件)形式存在。设备树的主要优点是,它将硬件描述与内核代码分离,使得内核更加模块化和易于维护。设备树覆盖是对设备树的一种扩展,允许动态修改或添加设备树节点。设备树的主要作用是描述硬件,并帮助操作系统理解和使用这些硬件。它们通常在设备启动时被应用,以调整设备树以适应特定硬件的需求。

2024-07-12 09:59:08 1042 1

原创 Linux下常见压缩文件tar.xz、tar.bz2、tar.gz的区别和详解

这三个文件扩展名都表示压缩后的档案文件,但它们使用不同的压缩算法。则是用来压缩盒子里的东西,使它更小的工具。就像一个盒子,它可以用来装很多东西。

2024-07-10 13:54:44 1988 1

原创 使用GPG来解密和加密文件详解

在使用GPG加密文件时,知道对方的公钥ID或邮箱地址不是严格必须的,但有助于确保你选择了正确的公钥进行加密操作。如果你的密钥环中有多个公钥,知道公钥ID或邮箱地址可以帮助你明确选择正确的接收者。如果你只导入了一个公钥,或者密钥环中只有一个相关的公钥,那么你可以省略具体的公钥ID或邮箱地址,直接进行加密。在加密过程中,明确指定公钥ID或邮箱地址可以避免误操作,确保使用正确的公钥进行加密,特别是在你的密钥环中有多个公钥时。但是,为了避免任何潜在的混淆,最好还是明确指定接收者的公钥ID或邮箱地址。

2024-06-21 09:08:30 1702 12

原创 PGP密钥生成和导出

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。生成PGP密钥对的过程可以通过多种工具来完成,常见的有GnuPG(GPG)工具。生成后,你可以使用公钥进行加密和签名,也可以将公钥分享给其他人以便他们加密信息发送给你。GPG会生成密钥对,并将其存储在你的密钥环中。生成GPG密钥对后,你可以导出公钥和私钥,以便备份或在其他设备上使用。成功导出了GPG密钥对,公钥可以用于加密和签名验证,而私钥则用于解密和签名生成。

2024-06-04 14:04:37 1406 3

原创 Firebase Local Emulator Suite详解

Firebase Local Emulator Suite 是一组本地服务,可以模拟 Firebase 平台的在线服务,帮助开发者在本地环境中开发和测试应用程序,而不必依赖实时的 Firebase 项目。以下是关于 Firebase Local Emulator Suite 的详细介绍及其使用方法。

2024-05-30 15:52:26 616 1

原创 如何利用Firebase Hosting来托管网站

在 Firebase 控制台中打开你的项目。导航到 “Hosting”。点击 “Add custom domain” 并按照提示完成域名配置。

2024-05-29 10:36:30 1233 7

原创 shell脚本读写二进制文件

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。这些示例展示了如何在Shell脚本中读取和写入二进制文件的基本方法。在Shell脚本中处理二进制文件时,可以使用一些常用的命令和工具来读取和写入二进制数据。可以组合使用上述工具来实现更复杂的操作。例如,读取文件中的部分数据,进行修改后再写回文件。等命令来读取二进制文件的内容并以可读的格式显示。命令来读取和修改二进制文件的特定部分。命令来写入二进制数据到文件。

2024-05-27 14:38:23 937 1

原创 shell脚本编译成二进制文件shc

将Shell脚本转换为二进制执行文件,可以使用shc工具。shc是一个Shell编译器,它可以将Shell脚本编译成二进制文件。

2024-05-27 09:21:18 1093

原创 local dimming(局部调光)介绍

local dimming(局部调光)是电视和显示器中用于提升画面对比度和画质的背光技术。其基本原理是将背光源(通常是LED)分成多个独立控制的区域或区块,每个区块可以根据显示内容的需求独立调节亮度。这种技术可以在需要显示深黑色的区域降低亮度,而在需要显示明亮细节的区域增加亮度,从而实现更好的视觉效果。

2024-05-23 10:42:12 4541

原创 Android广播机制简介

Android广播是一种轻量级的消息传递机制,用于应用程序之间或系统与应用程序之间进行通信。它类似于订阅-发布模式,允许应用程序在无需建立直接连接的情况下相互共享信息。

2024-05-08 16:27:42 525

原创 Flutter-Statewidget 创建State过程State<XXXX> createState() => _XXXXState()的解释

createState() 方法是 Flutter 中 StatefulWidget 类的重要方法之一,用于创建状态对象。状态对象负责管理 widget 的状态,对于构建复杂的 Flutter widget 至关重要。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

2024-05-08 15:01:34 1046

原创 Flutter开发Dart中的队列(Queue)

队列是一种重要的数据结构,可用于各种场景。Dart 提供了 Queue 类和 FixedLengthQueue 类来实现队列,并提供了丰富的操作方法。理解队列的基本概念及其应用对于编写高效的 Dart 程序至关重要。结束语Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

2024-05-06 16:28:06 935

原创 State.initState() must be a void method without an `async` keyword错误解析

State.initState() 方法是 Flutter 中 StatefulWidget 类的生命周期方法之一,用于初始化小部件的状态。然而,initState() 方法不能是异步的,因为它必须在小部件的构建方法被调用之前完成。这是因为 initState() 方法是在主线程中调用的,而异步函数是在后台线程中执行的。然后,主线程会继续执行 initState() 方法的其余部分,并最终调用 build() 方法来构建小部件。然后,可以从 initState() 方法中调用该单独的方法。

2024-04-28 16:46:02 1257

原创 Flutter应用开发-几种保存简单配置的方式

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。hive 是一个高性能的 NoSQL 数据库,支持存储各种类型的数据,包括基本数据类型、自定义对象、List、Map 等。如果需要存储少量简单数据,可以使用 shared_preferences。如果需要存储大量数据或非结构化数据,可以使用文件存储的方式。如果需要存储大量数据或非结构化数据,可以使用文件存储。如果需要高性能的存储解决方案,可以使用 hive。

2024-04-28 11:25:42 1102

原创 Flutter应用下拉菜单设计DropdownButtonFormField控件介绍

Flutter 中的 DropdownButtonFormField 是一个用于在表单中选择下拉菜单的控件。它是 DropdownButton 和 TextFormField 的组合,允许用户从一组选项中选择一个值,并将所选值作为表单字段的值。

2024-04-26 14:15:30 1590 2

Flutter实现APP导航栏的几种方式

Flutter实现APP导航栏的几种方式。使用TabBar、TabBarView、TabController、BottomNavigationBar来实现APP的导航栏

2023-05-17

空空如也

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

TA关注的人

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