0%

repo项目根目录下执行 (会根据 manifest.xml 排除定义的所有 project ) :

新建sh文件

nano repo.sh

写入以下内容

#!/usr/bin/env bash

# 输出文件路径
OUTFILE=".repo/local_manifests/exclude_projects.xml"

# 确保 .repo/local_manifests 目录存在
mkdir -p .repo/local_manifests

# 初始化 exclude_projects.xml 文件
cat > "$OUTFILE" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
EOF

# 从 .repo/manifest.xml 中提取 include 文件名
includes=$(grep "<include " .repo/manifest.xml | sed -n 's/.*name="\([^"]*\)".*/\1/p')

# 遍历所有 include 的文件
for inc in $includes; do
incfile=".repo/manifests/$inc"
if [ -f "$incfile" ]; then
# 提取 incfile 中的 <project> 标签并生成 remove-project
grep "<project " "$incfile" | while read line; do
name=$(echo "$line" | sed -n 's/.*name="\([^"]*\)".*/\1/p')
if [ -n "$name" ]; then
echo " <remove-project name=\"$name\" />" >> "$OUTFILE"
fi
done
else
echo "警告:未找到被 include 的文件 $incfile"
fi
done

# 关闭 manifest 标签
echo "</manifest>" >> "$OUTFILE"
echo "处理完成,请查看 $OUTFILE 文件。"

添加权限,然后执行

chmod +x repo.sh
./repo.sh

纯 Flutter 开发应该不会遇到这个问题,但是如果是已有一个原生工程中集成 Flutter,在 Activity 里面内嵌 FlutterView,当屏幕旋转、键盘弹出等导致 FlutterView 容器大小出现突变时,Flutter 界面会有很明显的拉伸。

先说解决方案

固定宽高

不修改 Flutter 引擎最稳妥的解决方案。宽高不要设置为 MATCH_PARENT (根据实际情况,不会突变的可以设置为 MATCH_PARENT), 而是设置为固定值。在 Flutter 侧底部或者右边留空白 Container,通过动态控制 Container 的宽高来实现业务效果,如业务视图的高度变化。如果是键盘场景,原生通过把键盘高度传递给 Flutter,让空白 Container 的高度跟键盘高度一致来控制输入框的弹起。

Read more »

由于网络问题,需要把 flutter 打包过程中生成的 .android 工程中的 maven 地址换成内网地址,但是 .android 工程的生成与构建是一个原子操作,中途没有时机去修改 gradle 文件。好在可以修改生成工程的模板:

  • flutter/packages/flutter_tools/templates/module/android/gradle/build.gradle.tmpl
  • flutter/packages/flutter_tools/templates/app_shared/android.tmpl/gradle/wrapper/gradle-wrapper.properties.tmpl

后来又发现 distributionUrl 的修改没有生效,因此想调试下 flutter 的 SDK

Read more »

fix xxx
auto-proceed and don’t prompt me until it’s done and tested
don’t create new plugin methods for this

安装

git clone https://github.com/personoids/chat-ai-plugin.git
cd chat-ai-plugin
Read more »

M2 Mac 安装 JD-GUI 无法打开:

ERROR launching 'JD-GUI'

No suitable Java version found on your system!
This program requires Java 1.8+
Make sure you install the required Java version.
Read more »