Skip to content

Releases: nightmare-space/code_lfa

v1.6.1

24 Aug 05:01

Choose a tag to compare

1.6.1 (CH)

发布的是 Pre-release 难道不就是,还需要一些测试吗,我自己没办法测试到所有的 case,这仅仅是一个免费开源的项目

希望大家都能友好反馈

在 Issue 中建议”撤销发布“,也许还有诸多人都有类似的想法

说难听点,这群不友好反馈的人,只是只会逼逼赖赖的伸手党而已,说那么多废话,自己有能力自己写一个我来用

但我就要发布!有问题好好反馈!我又不是不改!给你惯的!

  • 优化 code-server 的拷贝逻辑,修复自定义版本失效的问题
  • 修复 QEMU 相关的报错
  • 优化 UI 样式,增加进度条信息展示,优化状态栏沉浸,修改了 App 图标
  • 代码上的诸多优化,增加一些双语注释,优化进度条逻辑,不再使用魔数
  • 支持 I18n,目前支持中文和英语
  • 升级 proot-distro 到 4.28.0
  • 升级 code-server 到 4.103.1
  • 升级 ubuntu 到 noble-aarch64-pd-v4.18.0

注意: 我打包的版本会收集以下信息

{
    "app": "Code LFA",
    "time": "$TIME",
    "platform": "Android",
    "unique_key": "",
    "app_version": "",
}

其中 unique_key 是随机生成的,并非设备唯一 ID

这些信息仅仅用来观察我个人的软件的日活等,我需要根据这些数据来分配我的时间

如果你比较介意,后续我会同时带上不带数据上报的版本,或者自行编译

目前的接口是 HTTPS,后续我尝试用 HTTP 来上报,保证数据上的透明

这和垄断的 alist 上报数据并不一样,未涉及任何用户相关信息

很抱歉我个人有些强迫症,改了一些 git 的历史记录,fork 仓库的朋友需要执行以下代码或者重新 fork
预计近期还会改一些代码,等到正式发布 v1.6.0 的 Release 的时候,大家再操作

# 1) 备份当前分支(可选)
git branch backup/$(date +%Y%m%d-%H%M%S)

# 2) 添加/确认 upstream 指向你的仓库
git remote -v
git remote add upstream https://github.com/nightmare-space/code_lfa.git 2>/dev/null || true

# 3) 拉取最新(包含重写后的历史)
git fetch upstream --prune --tags

# 4) 切到要同步的分支(如 main),硬重置到 upstream
git checkout main
git reset --hard upstream/main

# 5) 强制推回自己的 fork(origin)
git push origin main --force-with-lease

# 若需要同步标签与清理已删除的标签
git push origin --tags --force --prune

1.6.1 (CH)

Isn’t a Pre-release meant for further testing? I can’t possibly cover every case myself; this is just a free, open-source project.

I hope everyone can provide feedback in a friendly manner.

Some people suggested “revoke the release” in Issues; perhaps many others feel the same.

To be blunt, those who don’t provide constructive feedback are just freeloaders who only complain. If you’re that capable, write something yourself for me to use.

But I’m going to release it anyway! If there are issues, provide proper feedback! It’s not like I won’t fix them! Stop expecting to be coddled!

  • Optimize the copy logic of code-server and fix the issue where custom versions didn’t take effect
  • Fix QEMU-related errors
  • Refine UI styling: add progress details, improve status bar immersion, and update the app icon
  • Various code optimizations: add bilingual comments, optimize progress bar logic, and stop using “magic numbers,” etc.
  • Support I18n (currently Chinese and English)
  • Upgrade proot-distro to 4.28.0
  • Upgrade code-server to 4.103.1
  • Upgrade Ubuntu to noble-aarch64-pd-v4.18.0

Note: My packaged builds will collect the following information

{
  "app": "Code LFA",
  "time": "$TIME",
  "platform": "Android",
  "unique_key": "",
  "app_version": ""
}

The unique_key is randomly generated and is not a device-unique ID.

This information is used solely to observe basic app metrics (e.g., daily active users) so I can allocate my time.

If you prefer not to send any data, I will also provide a build without reporting later, or you can compile it yourself.

The current endpoint uses HTTPS; I may try HTTP later to make the data transmission more transparent.

This is not the same as alist’s data reporting and does not involve any user-related information.

Sorry, I’m a bit obsessive and rewrote some Git history. If you forked this repo, please run the following commands or re-fork.
More changes may land soon; please perform these steps when the v1.6.0 Release is officially published.

# 1) Back up the current branch (optional)
git branch backup/$(date +%Y%m%d-%H%M%S)

# 2) Add/verify that 'upstream' points to this repository
git remote -v
git remote add upstream https://github.com/nightmare-space/code_lfa.git 2>/dev/null || true

# 3) Fetch the latest changes (including rewritten history)
git fetch upstream --prune --tags

# 4) Switch to the branch to sync (e.g., main) and hard reset to upstream
git checkout main
git reset --hard upstream/main

# 5) Force-push back to your fork (origin)
git push origin main --force-with-lease

# If you need to sync tags and prune deleted tags
git push origin --tags --force --prune

v1.5.0

30 Dec 18:20

Choose a tag to compare

v1.5.0 Pre-release
Pre-release

Full Changelog: v1.2.4...v1.5.0

1.5.0

很抱歉,所有还在用 Code FA 的用户,这个项目的维护并不积极,Code LFA 免费且开源,所有的投入都是我无偿奉献出我的时间,而且我很难从这一切中找到平衡,后续也会面临经济上的一些问题

简单了解过我的朋友可能知道,我手上的项目非常的多,也非常的忙

项目更名为 code_lfa

Code LFA(Code Launcher For Android)

如名称所示,这只是一个启动器,并不是自己实现的 VS Code,在过去,它经常会带来一些歧义,更有甚者会有人辱骂我违反了开源协议

我并未使用任何 code-server 的代码,code-server 也是以压缩包的方式存在 Code LFA 中,更何况 Code LFA 本身也是开源的

后续会更新 Readme,部分朋友总是觉得安装依赖是 Code FA 的问题,所以我准备加了一些简单的说明

其实绝大部分的问题,都是大家完全不会使用 Ubuntu 导致的,也不会使用 apt

不要把在 Windows 上使用 VS Code 的习惯带到 Code LFA 上,不要问怎么安装这怎么安装那,遇到问题,请问 GPT : 如何在 Ubuntu 的 VS Code 的 Terminal 中上安装 xxx

主要更新

1.移除 termux 环境

在以往的版本中,Code LFA 其实包含了一个完整的 termux 环境,简单说是,里面内置了一个和 termux 一模一样的类 Linux 环境,而这都是需要修改包名,重新编译 termux-package 的 bootstrap,这个过程非常复杂,而我精力分散后,这部分几乎无法维护,并且会增加 26M 的 apk 体积

这部分去除后,原有的包体积增加只需要 1.6M

相关依赖来源

  • bash: bash-in-magisk, proot-distro 语法依赖
  • busybox: busybox-ndk,proot-distro 需要依赖很多安卓本身没有的命令
  • proot、libtalloc、loader: 这个仍然需要自编译 termux-package,但是好在动态链接很少,不需要经常更新

我也思考过,移除 bash 和 proot-distro,但其实 proot-distro 帮我们处理了很多事情,如果最后仅精简成一行 proot 命令的话,可能启动的 ubuntu 会有一些问题

2.升级 Target SDK 到35

为后续上架 Google Play 做准备

3.升级默认 code-server 到 4.96.2

目前有开发者为 Code LFA 提交了一个 PR 以实现工作流产出 Apk,但我当前没有精力测试

启动界面点击屏幕即可展示/隐藏终端

4.优化启动界面 UI

一个遗留了很久的问题,目前我尽可能让它看起来美观一点,并加了玄学的进度条

也许大家启动失败的时候,我可以根据进度条的位置和终端输出来判断问题

5.移除 Tar 依赖

在最早的版本中,Code LFA 是无法使用直接从 code-server 下载的 .gz 包的,需要先解压,再压缩,因为压缩包中有一些 hardlink,在安卓上不支持

后来改用了 Dart Tar 来处理

现在移除了这部分,尽可能减少 Code LFA 的代码和依赖

直接用 busybox tar 来解压,然后 hardlink 目前是针对这个 code-server 版本写死的,后续可能会解析 tar tvf 的结果,再动态拷贝硬链接的文件,

tar tvf 'assets/code-server-4.96.2-linux-arm64.tar.gz' | grep '^hr' tar.txt

hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/obj.target/argon2.node link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.node
hrw-r--r--  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/obj.target/argon2.a link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.a
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/lib/binding/napi-v3/argon2.node link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/Release/watcher.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/Release/obj.target/watcher.node
hrw-r--r--  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/node-addon-api/nothing.a link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/Release/nothing.a
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/kerberos/build/Release/obj.target/kerberos.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/kerberos/build/Release/kerberos.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/native-watchdog/build/Release/obj.target/watchdog.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/native-watchdog/build/Release/watchdog.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/windows-registry/build/Release/winregistry.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/windows-registry/build/Release/obj.target/winregistry.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/windows-process-tree/build/Release/obj.target/windows_process_tree.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/windows-process-tree/build/Release/windows_process_tree.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/spdlog/build/Release/obj.target/spdlog.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/spdlog/build/Release/spdlog.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/deviceid/build/Release/obj.target/windows.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@vscode/deviceid/build/Release/windows.node

其他更新

  • 多 Activty 切换成 Fragment,这个还没确定会保留,目前是为了兼容 AR 眼镜
  • 升级 Ubuntu 到 22.04,版本号没变,但资源更新了一下
  • 代码精简,优化,移除无用依赖
  • 删除了一些 Git 历史文件,所以同步仓库源的朋友需要重新 clone 一下

1.5.0

Sorry to all users still using Code FA, the maintenance of this project is not active. Code LFA is free and open source, all the contributions are my voluntary dedication of time, and it is hard for me to find a balance in all this, and I will also face some financial issues in the future.

Friends who know me a little may know that I have many projects on hand and am very busy.

The project is renamed to code_lfa

Code LFA (Code Launcher For Android)

As the name suggests, this is just a launcher, not a self-implemented VS Code. In the past, it often caused some misunderstandings, and some even accused me of violating the open-source agreement.

I did not use any code from code-server. Code-server is also included in Code LFA as a compressed package, and Code LFA itself is also open source.

The Readme will be updated later. Some friends always think that installing dependencies is a problem with Code FA, so I am preparing to add some simple instructions.

In fact, most of the problems are because everyone does not know how to use Ubuntu at all, nor do they know how to use apt.

Do not bring the habit of using VS Code on Windows to Code LFA. Do not ask how to install this or that. If you encounter problems, please ask GPT: How to install xxx in the Terminal of VS Code on Ubuntu.

Major Updates

1. Remove termux environment

In previous versions, Code LFA actually included a complete termux environment. Simply put, it had a built-in Linux-like environment identical to termux, which required modifying the package name and recompiling the bootstrap of termux-package. This process is very complicated, and after my energy was dispersed, this part was almost impossible to maintain, and it would increase the apk size by 26M.

After removing this part, the original package size increase only needs 1.6M.

Related dependencies sources:

  • bash: bash-in-magisk, proot-distro syntax dependency
  • busybox: busybox-ndk, proot-distro requires many commands that Android itself does not have
  • proot, libtalloc, loader: This still needs to be self-compiled termux-package, but fortunately, there are very few dynamic links, and it does not need to be updated frequently

I also thought about removing bash and proot-distro, but in fact, proot-distro handles many things for us. If it is finally streamlined into a single proot command, there may be some problems with the Ubuntu startup.

2. Upgrade Target SDK to 35

Prepare for future listing on Google Play

3. Upgrade default code-server to 4.96.2

Currently, a developer has submitted a PR to Code LFA to produce Apk through workflow, but I do not have the energy to test it at the moment.

Click the screen on the startup interface to show/hide the terminal

4. Optimize startup interface UI

A long-standing issue, I am currently trying to make it look more aesthetically pleasing and added a mystical progress bar.

Maybe when everyone fails to start, I can judge the problem based on the position of the progress bar and the terminal output.

5. Remove Tar dependency

In the earliest versions, Code LFA could not use the .gz package downloaded directly from code-server. It needed to be decompressed and then compressed again because there were some hardlinks in the compressed package that were not supported on Android.

Later, Dart Tar was used to handle it.

Now this part is removed to minimize the code and dependencies of Code LFA.

Use busybox tar to decompress directly, and the hardlink is currently hardcoded for this code-server version. Later, it may parse the result of tar tvf and then dynamically copy the hardlinked files.

tar tvf 'assets/code-server-4.96.2-linux-arm64.tar.gz' | grep '^hr' tar.txt

hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/obj.target/argon2.node link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.node
hrw-r--r--  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/obj.target/argon2.a link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.a
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/node_modules/argon2/lib/binding/napi-v3/argon2.node link to code-server-4.96.2-linux-arm64/node_modules/argon2/build-tmp-napi-v3/Release/argon2.node
hrwxr-xr-x  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/Release/watcher.node link to code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/Release/obj.target/watcher.node
hrw-r--r--  0 root   root        0 Dec 21 05:39 code-server-4.96.2-linux-arm64/lib/vscode/node_modules/@parcel/watcher/build/node-addon-api/nothing.a link to code-server-4.96.2-linux-arm64/li...
Read more

v1.2.4

30 Jun 09:34

Choose a tag to compare

  • Update code server version to 4.90.3
  • Fix some bug

v1.2.0

08 Jun 07:37

Choose a tag to compare

1.2.0

  • 支持 code-server-v4.13.0

  • 去除开屏广告

  • 解决之前 tar 符号链接的问题,之前版本需要重新解压再打包 tar,所以大家只能下我给的tar去使用,现在可以直接支持从 code-server 下载的arm64压缩包

  • 支持完全离线模式,之前会请求一部分服务,导致首次始终是需要联网的,现在不需要了。

  • 简化启动时的终端输出

1.1.9

  • 不再会往root/home写入收款二维码
  • 更改多版本加载策略
  • 加入开屏广告(介意慎更)

1.1.8

  • 限制Android版本

v1.1.6

21 Aug 08:28

Choose a tag to compare

  • ubuntu 版本升级到 22.04,并切换至相应的源
  • 此版本会覆盖升级 ubuntu 版本,会自动备份 home 文件夹
  • 精简控制台输出
  • 修复 g++ 不能使用的问题
  • 修复中文插件不能使用的问题

注意!!!目前 oss 不能上传文件,需要去 QQ 群761959652下载
Code Server zip包放到外置储存