- 博客(191)
- 资源 (1)
- 收藏
- 关注
原创 新版本androidStudio设置不自动折叠顶部菜单栏
依次找到Settings->Appearance->Main menu,选择show above Main ToolBar,点击apply即可。
2025-10-17 11:11:31
265
原创 打apk包报错parseAlgParameters failed: ObjectIdentifier() -- data isn‘t an object ID (tag = 48)
翻译搜索复制。
2025-09-17 14:39:14
144
原创 grep/find常用指令
Linux文件搜索实用技巧摘要:grep命令常用选项包括: -r递归搜索目录 --include限定文件类型 -w精确匹配单词 -n显示行号 -i忽略大小写 -v反向匹配 -c统计匹配次数 find命令实用参数: -name/iname查找文件名(区分/不区分大小写) -type按文件类型查找(f文件/d目录) -size按大小查找 -mtime按修改时间查找 -exec执行后续命令 -prune排除目录 结合正则表达式可实现高效文件搜索与批量操作。
2025-07-09 14:51:43
1005
原创 Git常用指令
这篇文章总结了Git的常用操作指南,主要包括:1)提交代码到远程的完整流程;2)git log的多种查询方式(格式化、搜索、筛选等);3)git cherry-pick合并特定提交的方法;4)分支管理、撤销操作和清理工作区的指令;5)定期同步分支和误操作恢复技巧;6)暂存本地修改的stash用法。文中提供了每个命令的具体参数说明和使用场景,特别强调了强制删除(-fx)和预览删除(-ndx)的区别,以及通过reflog恢复误操作的方法。
2025-07-09 14:48:10
570
原创 ui查看利器uiautomatorviewer
使用uiautomatorviewer查看Android布局需先安装Android SDK并配置JDK(建议版本17以下)。操作时在SDK路径运行uiautomatorviewer.bat,连接设备至目标页面后,点击界面红框即可查看布局详情。注意高版本JDK可能导致程序闪退。
2025-07-02 17:53:49
394
原创 访问远程共享文件时“连到系统上的设备没有发挥作用”错误解决方法
【远程共享访问故障解决方案】当访问远程共享目录时出现"连到系统上的设备没有发挥作用"错误,可通过以下步骤解决: 按Win+R输入services.msc进入服务管理 检查并启动三个关键服务:DHCP Client、DNS Client及Routing and Remote Access 将服务启动类型设为"自动" 该方法适用于Windows系统,能有效解决因网络服务未启动导致的共享访问故障。注意操作前建议保存工作进度。
2025-07-02 14:26:22
1378
原创 Room 数据库升级问题 java.lang.IllegalStateException: Migration didn‘t properly handle xxx
摘要:当修改Room数据库架构时,常见的错误包括未更新版本号导致的数据完整性检查失败。解决方案包括:1)使用destructive migration删除重建数据库(简单但不推荐);2)通过Migration实现数据迁移(用户友好)。关键点:新增字段需在SQL迁移语句中指定NOT NULL约束和默认值,如"ALTER TABLE Repo ADD COLUMN age INTEGER NOT NULL DEFAULT 10",否则会因约束不一致导致迁移失败。具体案例展示了如何从版本1迁移
2025-06-23 22:33:55
776
原创 Android NDK: Could not find application project directory
Application.mk 和 Application.mk 在同级目录,直接执行即可:ndk-build。
2025-06-11 13:50:22
828
原创 Android投屏神器-scrcpy
摘要:Scrcpy是一款开源手机投屏工具,可通过Github下载最新版本(https://github.com/Genymobile/scrcpy)。下载页面包含更新日志和功能说明,支持关闭手机屏幕、复制粘贴等操作。Windows用户可按系统位数(32/64位)下载压缩包,内含ADB工具和Scrcpy程序,解压后双击即可使用,适合不熟悉命令行的用户。
2025-06-10 10:46:42
685
原创 Xshell频繁断开服务器连接怎么办
修改Xshell保持活动状态消息间隔的方法:1.分别打开当前会话和默认会话属性设置;2.找到"保持活动状态"选项,将默认的60秒改为20秒左右;3.关闭并重新启动Xshell即可生效。该设置可优化会话连接稳定性。(
2025-06-05 16:33:52
1211
原创 Framework模块编译脚本利器
android源码目录下的build/envsetup.sh文件,描述编译的命令– m: Makes from the top of the tree.(编译所有的模块)– mm: Builds all of the modules in the current directory.(编译当前目录下的模块,当前目录下要有Android.mk文件 )
2025-04-25 13:40:59
693
原创 Android报错Unable to make field private static final java.util.Map java.lang.ProcessEnvironment的解决方法
再导入一个之前项目后出现 Unable to make field private static final java.util.Map java.lang.ProcessEnvironment.theCaseInsensitiveEnvironment accessible: module java.base does not “opens java.lang” to unnamed module @d041cf 的错误提示。JDK版本太高,与项目中使用的jdk版本不对应导致的。
2025-04-21 17:39:25
402
原创 Soong系统构建
为了方便统一管理,Soong将out/soong/build.ninja文件 、out/build-.ninja文件和out/build--package.ninja文件, 合成为out/combined-*.ninja文件,由该文件记录所有待执行ninja文件。soong_ui.bash脚本主要做了两件事: 1.根据"android/soong/cmd/soong_ui/"内容,生成soong_ui的go可执行程序,生成路径:out/soong_ui 2.执行soong_ui程序。
2025-04-16 18:19:22
959
原创 git添加add忽略文件
忽略 .idea 目录,包含 IntelliJ IDEA 或 Android Studio 的项目配置。# 忽略 local.properties 文件,该文件包含本地开发环境的配置。# 忽略 .gradle 目录,包含 Gradle 构建缓存和配置信息。# 忽略 build 目录,该目录包含编译生成的文件。2.将上面的规则添加到.gitignore文件。# 忽略 Kotlin 编译缓存。# 忽略生成的 APK 文件。# 忽略生成的 AAB 文件。# 忽略中间编译产物。
2025-04-15 16:41:12
664
原创 新版本AndroidStudio配置maven阿里云镜像
google()google()google()google()google()google()google {content {google()
2025-04-03 22:26:40
2342
原创 Room 数据库升级问题 java.lang.IllegalStateException: Migration didn‘t properly handle xxx
但是,如果我们希望我们的应用程序更加用户友好,我们可以提供数据库的迁移。使用Room 也很容易实现。Room 会发现它的架构已经改变,并且它与数据库版本不再一致。有时需要更改现有的数据库架构。... 省略getter setter tostring 放法。第一个选项是最简单的选项,但它不是最好的用户,因为我们将清除整个数据库…不推荐这种解决方案,但可以使用。//当添加int 类型数据时,需要添加默认值。//新添加的age 字段。notNull 的值不同。
2025-03-21 16:50:38
1050
原创 Two-factor authentication (2FA) is required for your GitHub account
今天在尝试打开 GitHub 页面时,突然出现了一个错误提示:“Two-factor authentication (2FA) is required for your GitHub account”(如图所示)。这个错误提示表明,GitHub 账户需要启用双因素认证(2FA)才能继续使用。在网上找了一些办法可以解决 但是 太麻烦 找了比较简单的方法。选择 “二维码激活” ,然后扫描的码进行注册就可以了。
2024-12-20 15:56:41
1552
1
原创 AndroidStudio AppInspection和Profiler无法选择进程
1.具体情况如下,AndroidStudio AppInspection和Profiler无法选择进程。2.解决方法使用adb root 后使用adb remount命令。
2024-12-18 14:38:49
1201
原创 ANR分析实例
那么ANR的原因找到了:线程3持有了一把锁,并且自身长时间不释放,主线程等待这把锁发生超时。这个导致的原因有很多,这个问题无法从ANR日志里去分析,就需要从系统日志里去查找问题,这个报错的时间上,需要往前去找日志信息,从日志里可以找到关键的信息,如下。一般来说,发生内存紧张,会导致多个应用发生ANR,所以在日志中如果发现有多个应用一起ANR了,可以初步判定,此ANR与你的应用无关。3、内存紧张:系统分配给一个应用的内存是有上限的,长期处于内存紧张,会导致频繁内存交换,进而导致应用的一些操作超时。
2024-11-12 14:15:09
1832
原创 Android 代码混淆详解
Android SDK自带了混淆工具Proguard。它位于SDK根目录下面。ProGuard是一个免费的Java类文件收缩,优化,混淆和预校验器。它可以检测并删除未使用的类,字段,方法和属性。它可以优化字节码,并删除未使用的指令。它可以将类、字段和方法使用短无意义的名称进行重命名。最后,预校验的Java6或针对Java MicroEdition的所述处理后的码。如果开启了混淆,Proguard。
2024-10-14 17:25:08
2689
原创 网络请求监测利器-NetWorkInspector
打开androidStudio的AppInspector,切换到NetWorkInspector,选择需要监测的应用进程,点击到应用会发起网络请求的页面,会出现图一的图形变化,然后点击它,出现图二。如上图,请求状态,请求地址,请求参数,返回参数,还有调用堆栈,应有尽有,真是太方便了。
2024-10-12 16:19:26
588
原创 matrix demo运行报 Need zipalign apk but D:\Android\android-sdk/build-tools/29.0.3/zipalign is not exist
D:\Android\android-sdk\build-tools\29.0.3 路径下,找到。找到build.gradle文件有提示 window平台,要补全全称。运行腾讯matrix性能分析工具demo,报以下错误。,补全名字,补全名字如下图。
2024-09-09 11:20:37
465
原创 软件架构设计分层架构与 PO、VO、DTO、BO、POJO、BO/DO、DAO
试想一下,业务逻辑和技术细节糅杂在一起的情况:所有的代码都写在ServiceImpl里面,前几行代码是做validation的事,接下来几行是做convert的事,然后是几行业务处理逻辑的代码,穿插着,我们需要通过RPC或者DAO获取更多的数据,拿到数据后,又是几行convert的代码,在接上一段业务逻辑代码,然后还要落库,发消息.....等等。对于只有一个业务的简单场景,对扩展性的要求并不突出,这也是为什么扩展设计常被忽略的原因,因为我们大部分的系统都是从单一业务开始的。软件架构是一个系统的草图。
2024-07-16 14:27:34
1163
原创 8种有效方法助您释放C盘空间存储
俗话说“工欲善其事,必先利其器”,为了擦亮我们工作的利器,本文提供了8种有效的方法来清理Windows电脑的C盘空间。从基本的磁盘清理到高级的分区调整,这些方法将帮助您释放C盘空间,提升电脑性能。如果您发现您的Windows电脑C盘空间不足,以下是8种有效的方法来清理和优化C盘空间。
2024-07-12 15:12:41
1859
原创 将 build.gradle 配置从 Groovy 迁移到 Kotlin
Android Gradle 插件 4.0 支持在 Gradle build 配置中使用 Kotlin,以替代 Groovy(Gradle 配置文件中通常使用的编程语言)。在编写 Gradle 脚本方面,Kotlin 比 Groovy 更优,因为 Kotlin 更易于阅读,并且提供了更好的编译时检查和 IDE 支持。
2024-07-04 14:46:45
2086
6
原创 epub3相关资料整合
1.EPUB电子书标准研究 (一篇比较易懂的中文文档)支持Android,IOS,Window等多平台。3.EPUB 3与EPUB 2.0.1有所不同。
2024-06-25 14:58:39
447
原创 beyondCompare工具
链接:https://pan.baidu.com/s/10TxNj0ZvLh2qusYZCPaGRA?过期后删除对应路径下所有文件,重启软件即可。
2024-05-10 15:12:43
417
原创 android数据库编辑查询器
百度网盘下载连接:链接:https://pan.baidu.com/s/1H6TTw2KCvVKY05sDigB1_Q?sqliteStudio,这是一款非常好用又轻量级得android数据库编辑器,解压缩,点exe,直接导入db文件即可。
2024-05-10 15:02:09
366
原创 android 预加载进程
因为打开独立进程会重新fork,耗时比较长,所以解决思路是。在跳转之前,预加载进程,从而避免启动进程的时间。选择看不见的组件进行预加载,如。c.进程是否开启过判断。
2024-05-08 19:05:24
1069
原创 AndroidStudio右下角显示内存使用情况
4.在“Appearance & Behavior" 下的“Appearance”中,找到“Show Memory Indicator” 选项。5.勾选“Show Memory Indicator”选项,以显示内存指示器,点击 Android Studio 左上角的“File”,然后选择“Settings”3.在设置界面中,选择“Appearance & Behavior”。6.点击ok即可,未生效,重启下studio。1.打开 Android Studio.
2024-04-17 11:02:00
2517
原创 EditText不显示系统键盘,可用来显示自定义的键盘
/ isOpen若返回true,则表示输入法打开。4.2低版本中有一个setSoftInputShownOnFocus方法, 但是被声明成hide了, 所以通过反射调用.以上方法调用后, EditText获取到焦点时,就不会弹出系统的键盘了.再低一点的版本,直接通过setInputType的方式兼容.系统键盘 包含普通键盘和现在很多ROM定制的密码安全键盘。然后弹出自定义的键盘,就可以完美解决冲突了.
2024-03-13 14:40:01
1224
原创 Android 中注解的使用
Android Support Library 从 19.1 版本开始引入了一个新的注解库,其中包含了很多的,使用它们修饰我们的代码, 可以让我们提高程序的开发效率,让我们更早的发现问题。以及对代码施以规范,让代码更加有可读性。这篇文章就来简单了解下这些注解,以及其使用。如有错误和遗漏,欢迎留言和补充~注:现在我们新建项目直接就依赖了 support.appcompat 包,其中已经依赖了 annotations 包。
2023-11-12 23:23:02
733
原创 反编译so文件(IDA_Pro)
安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发。使用NDK开发能够编译c/c++程序,最终生成so文件。而so文件是一个二进制文件,我们是无法直接分析so文件的,所以这里需要用到一个反编译工具IDA Pro。IDA Pro能够对so文件进行反汇编,从而将二进制代码转化为汇编语言,利用IDA Pro神奇的F5功能还能将汇编语言反编译成c/c++程序。
2023-09-18 16:13:06
3897
原创 Android 中SettingsActivity(PreferenceFragmentCompat)的简单使用
如果你需要一个简单的APP设置,可以使用sharedPreferences进行存储,我们可以借助AndroidStudio快速创建一个用于设置的Activity,其实它是继承PreferenceFragmentCompat,存储方式用的就是sharedPreferences,只是帮我们节省了很多操作。
2023-08-28 19:22:29
1718
原创 位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)
位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)位运算是C语言的重要特点,是其他计算机高级语言所没有的,位运算是以二进制为对象的运算,二进制表示法与计算机内存完全对应,每个单元(位)都可以设置成开(1)或关(0)。而且位运算比正常的运算符速度要快很多,因为位运算是一种底层的运算,但是理解起来会偏难一些。其他补充:1、位运算符中除~外,均为耳目运算符2、运算只能是整型或者字符型的数据,不然会报错常见的位运算符。
2023-08-26 01:34:00
2547
原创 Kotlin 高阶函数详解
一个函数如果参数类型是函数或者返回值类型是函数,那么这就是一个高阶函数。如果一个函数的参数是函数类型或者返回值是函数类型,那么这个函数就是高阶函数。高阶函数可以简化我们的代码,并且利用 inline 关键字可以提高高阶函数的性能。在 kotlin 源码的 Standard.kt 文件中定义了几个我们平时会经常用到的高阶函数,可以去看一看。
2023-08-23 23:38:36
896
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅