# 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-04-30 ## 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

#### 准备运行环境 若系统为 arm64-linux (如: 虚拟电脑app) > sudo apt install -y clang lld >
> 安装 android-ndk, 软件管家中搜索 ndk, 点击安装 若系统为 x86_64-linux (如: WSL) > 下载解压 android-ndk, 省略 然后: ``` sudo apt install -y autoconf automake libtool meson cmake binutils sudo apt install -y git wget dpkg [ -d /opt/apps ] || mkdir -p /opt/apps git clone --depth 1 https://gitee.com/droidvm/mitux /opt/apps/mitux chmod a+x /opt/apps/mitux/scripts/*.sh ``` #### 设置环境变量 要编译安卓原生代码, 需要先下载 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 "初步适配虚拟电脑app中的linux环境" git push -u mitux_r "master" # 私有目录,不上传到远程仓库 cd private git add . git commit -m "项目结构调整后,首次对外发布apk安装包" cd .. # 其它仓库转gitee仓库 git clone https://gitlab.freedesktop.org/virgl/virglrenderer.git nn=virglrenderer cd $nn br=main # git branch 查看分支 git remote add gitee_$nn https://gitee.com/droidvm/$nn.git git push -u gitee_$nn $br # 将所有 .sh 文件后缀改为 .txt for file in *.sh; do mv "$file" "${file%.sh}.txt"; done 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" ```