# MITux
**Repository Path**: droidvm/mitux
## Basic Information
- **Project Name**: MITux
- **Description**: 开源项目的安卓版编译脚本
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-17
- **Last Updated**: 2026-01-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# MITux 简介
这是一套将开源库移植到安卓系统的编译脚本及补丁集
运行于bash shell环境, 支持使用 ninja, make, cmake, meson 等构建系统的开源项目
此项目所收录的第三方项目, 维持它们原版的许可协议不变!, 已收录的项目见 ./scripts 目录
此项目以宽松许可协议开源, 此项目内的所有文件你可以在MIT许可协议下随意使用, 不用开源你的作品.
官方仓库: https://gitee.com/droidvm/mitux
参考项目:https://github.com/termux/termux-packages (许可方式类似, 三方项目维持原版许可, 它自身使用 Apache License, Version 2.0)
脚本下载的代码保存在这个路径:./.src-3rd
脚本编译得到的文件保存在这里:./.sys-3rd/usr
#### 环境变量设置
要编译安卓原生代码, 需要先下载 android-ndk, 并设置好以下3个环境变量
```
export ANDROID_NDK=/opt/ndk/android-ndk-r27c
export ANDROID_API=26
export ANDROID_ABI=arm64-v8a # arm64-v8a、armeabi-v7a、x86_64、x86
```
#### 常规指令示例
```
./scripts/xxx.sh # 常规编译, 下载源码->打补丁->autogen->configure->make
./scripts/xxx.sh clean # 清理项目
./scripts/xxx.sh cleanall # 清理项目, 以及它的依赖项!
./scripts/xxx.sh cleanroot # 清理你之前编译过的 所 有 项 目!!
./scripts/xxx.sh run # 运行脚本里面的run函数(如果脚本里面未定义有run函数则报错退出)
./scripts/xxx.sh -h|--help # 查看此信息
./scripts/xxx.sh -v|--version # 查看版本号
```
#### 快速编译
当你正在改代码, 要对代码进行频繁的、快速的编译时, 可以:
```
1. 使用 mkq 参数, 这样编译时会直接执行make/ninja指令, 前提是已经做过常规编译
./scripts/xxx.sh mkq
2. 使用 nodep 参数, 这样编译时会忽略其依赖项, 不编译其依赖项, 但还是会执行 autogen, configure
./scripts/xxx.sh nodep
3. 使用 cmd 参数, 这样编译时会停在源码目录, 让你可以自己敲需要运行的指令
./scripts/xxx.sh cmd
4. 修改对应的编译脚本, 注释掉一部分代码!
```
#### 如果你要添加的目标项目, 它使用的构建工具不是 ninja, make, cmake, meson, 那你得:
自己给它加上上面这几种构建工具的构建脚本
或者
自己修改 ./_setup_toolchains.sh, 增加对目标项目构建工具的支持
#### 备忘
```
# git add .gitmodules
# git add README.md
git add .
git commit -m "首次提交"
git remote add mitux_r https://gitee.com/droidvm/mitux.git
git push -u mitux_r "master"
# 修改好上传
git add .
git commit -m "收录更多软件"
git push -u mitux_r "master"
for file in *.sh; do mv "$file" "${file%.sh}.txt"; done # 将所有 .sh 文件后缀改为 .txt
todo:
正在下载源码 所有脚本都忘了判断下载成功与否
clear && adb shell -x "logcat -c && logcat --uid 10763"
clear && adb shell -x "logcat -c && logcat --uid 10289" # k40
clear && adb shell -x "dumpsys gfxinfo com.zzvm reset"
```