avatar
文章
70
标签
27
分类
12
主页
文章
标签
分类
AI
关于
墨香博客
主页
文章
标签
分类
AI
关于
MacOS(Macbook pro m5)通过Linux虚拟机编译AOSP
发表于2026-03-25|AOSP
安装虚拟机选用:OrbStack · Fast, light, simple Docker & Linux虚拟机 安装后,启动OrbStack,macOS系统选用的amd64的Linux系统,安装完成后设置内存为32G以上否则可能会报错。 配置好后,启动虚拟机,然后开始准备下载源码。 源码下载 使用清华镜像,一定要在虚拟机下面下载,在mac下直接下载,会报错。 清华镜像:Aosp | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 根据里面的教程下载AOSP源码,我下载的是 12repo init -u http://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android16-qpr2-releaserepo sync -c -j10 编译步骤代码下载后进入代码根目录, 执行: 1source build/envsetup.sh 然后执行: 1lunch...
关于程序员年龄的一些体会
发表于2025-09-20|Mind
...
使用Docker安装n8n并配置ollama本地模型
发表于2025-04-26
安装官方安装命令,要先安装docker客户端。 12docker volume create n8n_datadocker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n 安装到第二步时报错: 12docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8nUnable to find image 'docker.n8n.io/n8nio/n8n:latest' locally 需要翻墙 或者 根据:docker.n8n.io/n8nio/n8n:latest · Issue #3081 · kubesre/docker-registry-mirrors提示使用: 1docker run -it --rm --name n8n -p 5678:5678 -v...
本地部署Deepseek并关联到开发工具
发表于2025-02-21|AI
DeepSeek也已经火了一段时间了,不管做技术的或者不是做技术的,都在讨论或者使用DeepSeek。 对于我们来说,DeepSeek确实给我带来很大程度的提效,对于我们的帮助是很大的。基于对AI模型的了解,我也在过年放假的时候也学习搭建了本地模型环境,这里做个整理,记录一下。 本期分两个部分,第一部分是配置本地模型,第二个是关联我们的开发工具Idea或者Android Studio。 本地模型配置1. 下载ollama地址:Download Ollama on macOS 根据自己的pc系统版本进行下载,下载完成后安装并启动。 2. 选择模型地址:Ollama 这个地址有很多模型,比如:deepseek-r1,llama3.3, phi4等。 我选择了deepseek-r1,点击进入详细界面, 你可以根据自己电脑配置选择对应的模型,我的是Macbook...
2024年终总结--开发十年,人生四十
发表于2024-12-28|Mind
因为兴趣所以选择,因为选择所以坚持! 时间过得真快,2024年马上就要结束了,回想自己从事软件开发行业已经有十年时间了。这十年时间对于一个人的人生不算短,这飞逝十年使我的事业发生了很大转变。借着这入行开发十年的日子,以及明年将进入40岁的年纪,我觉得应该总结一下这十年自己的经历、收获,以及未来的规划和感触。 十一年前,我28岁,放弃大学所学,跟随兴趣,开始转向学习一个全新的方向 – Android开发。 十年前我正式转入了这个完全陌生、前途未知的行业。 关于博客八年前我开通了自己的博客[墨香博客],并写了转行以来第一个简单的总结(https://codemx.cn/about/),虽然这篇总结很短,但也曾鼓励过一些想学开发又觉得年龄大的网友。 关于我的博客,主要内容如下: 文章写的不多,至少我个人感觉是这样,而且因为一些原因一度停止更新,但也有一些文章帮助了一些同行和朋友: 墨香带你学Launcher系列, Android...
ANR-实例分析-Waiting for Available buffer
发表于2024-12-24|ANR
这章介绍两个实例,trace堆栈信息有区别,但是原因都是一样的。 实例一trace信息: 123456789101112131415161718192021222324252627282930313233343536373839----- pid 2340 at 2024-07-08 06:18:31.403216261+0800 -----Cmd line: com.android.launcherBuild fingerprint: 'xxx/release-keys'ABI: 'arm64'Build type: optimizedsuspend all histogram: Sum: 778.060ms 99% C.I. 5.193us-3305.192us Avg: 112.778us Max: 49558usDALVIK THREADS (54):"main" prio=5 tid=1 Native | group="main" sCount=1 ucsCount=0...
ANR-实例分析-负载过高
发表于2024-12-16|ANR
负载过高通常分为系统负载过高,应用负载过高。在第一节ANR-分类以及分析流程中的分析流程中有负载的判定条件和流程,这里不在贴了,可以直接去对应章节查看。 我们先看一下系统负载过高的实例。 首先还是先看trace信息: 123456789101112131415161718192021222324252627282930----- pid 2135 at 2024-04-07 03:13:49.397317152+0800 -----Cmd line: com.android.launcherBuild fingerprint: 'xxx/release-keys'ABI: 'arm64'Build type: optimizedsuspend all histogram: Sum: 1.164s 99% C.I. 20.542us-4088.026us Avg: 122.869us Max: 225691usDALVIK THREADS (67):"main" prio=5 tid=1 Native |...
ANR-实例分析-死锁
发表于2024-11-25|ANR
死锁是一种线程同步问题,指两个或多个线程在执行过程中由于相互等待对方释放资源,导致它们永远无法继续执行下去的现象。 一般死锁满足下面四个条件: 互斥条件:一个资源每次只能被一个线程占用。 持有并等待条件:一个线程已经持有至少一个资源,同时又请求新的资源,但该资源已被其他线程占用。 不可剥夺条件:线程已获得的资源在未使用完成之前,不能被其他线程强行剥夺。 循环等待条件:存在一个线程等待链,链中每个线程都在等待下一个线程所持有的资源。 实例由于涉及公司的代码包名,我进行了替换,其他都是真实信息: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960----- pid 2298 at 2024-08-28 21:09:32.901621896+0800 -----Cmd line: com.android.launcherBuild fingerprint:...
ANR-实例分析-Binder
发表于2024-11-18|ANR
根据惯例,先看trace 1234567891011121314151617181920212223242526272829303132333435363738394041424344----- pid 2378 at 2024-07-02 10:14:12.7494796958+0800 -----Cmd line: com.android.launcherBuild fingerprint: 'xxx/release-keys'ABI: 'arm64'Build type: optimizedsuspend all histogram: Sum: 5.532ms 99% C.I. 2us-2958.079us Avg: 83.818us Max: 4255usDALVIK THREADS (52):"main" prio=5 tid=1 Native | group="main" sCount=1 ucsCount=0 flags=1 obj=0x77bd5fb8...
ANR-实例分析-启动应用被杀
发表于2024-11-11|ANR
上一个ANR实例分析中有个关键信息:Looper: Slow dispatch took 10578ms main,可以看到主线程消息耗时比较多,导致ANR,这里有个问题需要再说一下,就是这个慢是系统导致的还是应用导致的,需要对log进行分析,需要看对应进程是哪些,有没有一直有个相同的进程在执行,如果没有,该关键信息的log又很多说明是系统慢了,需要系统分析,否则需要找到对应的应用进行分析。 这节继续分析ANR实例,应用被杀导致发生ANR。 trace1234567891011121314151617181920212223242526----- pid 2345 at 2024-10-23 08:45:43.412217011+0800 -----Cmd line: com.android.launcherBuild fingerprint: 'xxxP:user/release-keys'ABI: 'arm64'Build type: optimizedDebug Store: 1,0,147313907::suspend all...
123…7
avatar
墨香
因为兴趣所以选择,因为选择所以坚持。
文章
70
标签
27
分类
12
Follow Me
公告
路虽远,行则将至;事虽难,做则可成。
最新文章
Hermes Agent 源码解析:一个可复用的 Agent 运行模型2026-10-31
OpenAI Codex 原理与架构:一个 while 循环与五层工程体系2026-10-31
Claude Code 原理与架构:模型负责思考,Harness 负责行动2026-10-31
Android Performance Studio:11 个性能工具,一个桌面应用2026-10-30
从海量 Log 到可审计结论:llm-anr 的设计思想、开发流程与最终结果2026-06-17
分类
  • AI4
  • ANR12
  • AOSP1
  • Android Official Source8
  • AndroidOS13
  • Android代码推荐1
  • Kotlin1
  • Launcher7
标签
Hermes ANR View绘制 Android Gradle App architecture Jetpack Compose Launcher AI Safe Animation Agent Performance Claude Test AndroidOS AOSP 高效Mac Coroutines Resource Mind Codex Launcher3 View Android Guide Understand Android Performance
归档
  • 十月 20264
  • 六月 20261
  • 五月 20264
  • 四月 20261
  • 三月 20261
  • 九月 20251
  • 四月 20251
  • 二月 20251
网站资讯
文章数目 :
70
本站访客数 :
本站总访问量 :
最后更新时间 :
©2016 - 2026 By 墨香
框架 Hexo|主题 Butterfly