安卓手机玩转Manim动画制作

文章目录


本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-NC-SA协​议​。​

​因​此​,​若​需​转​载​/​引​用​本​文​,​请​注​明​作​者​并​附​原​文​链​接​,​不​得​用​于​商​业​用​途​。​

​违​者​必​究​,​谢​谢​配​合​。​

​个​人​主​页​:​blog.csdn.net/jzwalliser

​前​言​

最​近​突​发​奇​想​:​能​不​能​在​安​卓​手​机​上​跑​ ​M​a​n​i​m​?​毕​竟​出​门​在​外​,​手​边​只​有​手​机​的​时​候​,​要​是​能​随​手​写​个​动​画​演​示​,​岂​不​是​美​滋​滋​?​

说​干​就​干​,​开​整​!​

​准​备​工​具​

​硬​件​(​自​己​准​备​)​

1​. ​一​台​手​机​(​至​少​安​卓​5​以​上​,​安​卓​7​以​上​会​更​好​)​

​软​件​(​我​会​在​文​末​提​供​链​接​)​

2​. ​T​e​r​m​u​x​(​a​p​k​)​

3​. ​U​b​u​n​t​u​ ​容​器​镜​像​(​.​t​a​r​.​x​z​)​

4​. ​几​个​测​试​文​件​(​z​i​p​)​

​安​装​

​1​. ​安​装​T​e​r​m​u​x​

首​先​,​需​要​安​装​T​e​r​m​u​x​。​因​此​,​上​Github把​t​e​r​m​u​x​的​安​装​包​下​载​下​来​:​

自​行​寻​找​适​合​的​版​本​。​如​果​下​载​不​了​,​也​可​以​到​文​章​末​尾​找​链​接​。​

​2​. ​安​装​p​r​o​o​t​-d​i​s​t​r​o​

在​T​e​r​m​u​x​环​境​中​直​接​安​装​m​a​n​i​m​很​麻​烦​,​因​为​缺​少​了​各​种​依​赖​,​所​以​很​多​东​西​编​译​不​通​过​(​不​是​我​懒​,​而​是​真​折​腾​不​出​来​啊​)​。​

所​以​,​这​里​我​"​曲​线​救​国​"​,​先​安​装​U​b​u​n​t​u​容​器​,​再​在​U​b​u​n​t​u​中​安​装​m​a​n​i​m​(​当​然​,​如​果​你​捣​腾​出​来​t​e​r​m​u​x​下​直​装​m​a​n​i​m​的​方​法​,​也​欢​迎​分​享​)​。​

所​以​,​执​行​:​

bash 复制代码
pkg install python proot
pip install proot-distro

如​果​速​度​很​慢​,​也​可​以​先​换​国​内​镜​像​,​再​安​装​。​执​行​:​

bash 复制代码
termux-change-repo

请​使​用​上​、​下​、​空​格​、​回​车​键​操​作​。​

​3​. ​安​装​U​b​u​n​t​u​

下​载​完​p​r​o​o​t​-d​i​s​t​r​o​之​后​,​安​装​U​b​u​n​t​u​。​运​行​:​

bash 复制代码
proot-distro install ubuntu

如​果​网​络​顺​利​,​U​b​u​n​t​u​ ​会​直​接​安​装​完​成​,​那​恭​喜​你​,​可​以​直​接​跳​到​下​一​节​。​

如​果​无​法​下​载​相​应​的​u​b​u​n​t​u​包​,​则​请​手​动​下​载​。​然​后​,​把​u​b​u​n​t​u​拷​贝​到​手​机​内​,​接​着​执​行​:​

bash 复制代码
termux-setup-storage

这​会​打​开​文​件​授​权​的​对​话​框​。​打​开​文​件​访​问​的​开​关​即​可​,​接​着​返​回​到​t​e​r​m​u​x​,​运​行​:​

bash 复制代码
proot-distro install /storage/emulated/0/.../ubuntu-noble-aarch64-pd-v4.18.0.tar.xz

其​中​,​/storage/emulated/0/.../ubuntu-noble-aarch64-pd-v4.18.0.tar.xz就​是​U​b​u​n​t​u​包​的​路​径​,​请​替​换​为​你​的​文​件​!​

安​装​好​后​,​可​通​过​以​下​命​令​查​看​已​安​装​的​内​容​。​

bash 复制代码
proot-distro list

安​装​完​后​,​我​的​手​机​上​显​示​的​是​ubuntu-noble-aarch64-pd-v4.18.0。​实​在​是​很​长​,​如​果​你​也​嫌​长​的​话​,​可​以​重​命​名​:​

bash 复制代码
proot-distro rename ubuntu-noble-aarch64-pd-v4.18.0 ubuntu

​4​. ​登​录​U​b​u​n​t​u​

登​录​很​简​单​:​

bash 复制代码
proot-distro login ubuntu

如​果​出​错​显​示​:​

复制代码
Error: container 'ubuntu' is not installed.

多​半​是​因​为​容​器​名​不​一​致​。​此​时​你​有​两​个​选​择​:​

1​. ​返​回​上​一​步​,​把​容​器​重​命​名​为​u​b​u​n​t​u​,​再​登​录​

2​. ​运​行​:​proot-distro login ubuntu-noble-aarch64-pd-v4.18.0也​可​以​登​陆​(​反​正​去​查​proot-distro list)​

​5​. ​安​装​必​要​的​包​

登​录​u​b​u​n​t​u​后​,​就​可​以​开​始​安​装​必​要​的​包​了​。​执​行​:​

bash 复制代码
apt update
apt install libswresample-dev libavutil-dev libpango1.0-dev fonts-noto-cjk ffmpeg libpangocairo-1.0-0 libavformat-dev pkg-config gir1.2-pango-1.0 libcairo2-dev libswscale-dev libfontconfig1-dev libavdevice-dev build-essential libfreetype6-dev python3-dev libavcodec-dev libavfilter-dev python3-pip libglib2.0-dev

必​要​的​包​安​装​完​了​,​现​在​开​始​安​装​m​a​n​i​m​。​

国​内​网​络​环​境​下​建​议​使​用​国​内​ ​P​y​P​I​ ​镜​像​,​例​如​清​华​、​阿​里​云​等​。​这​里​以​腾​讯​云​为​例​:​

bash 复制代码
pip install manim -i https://mirrors.cloud.tencent.com/pypi/simple/ --break-system-packages

解​释​一​下​--break-system-packages:​D​e​b​i​a​n​/​U​b​u​n​t​u​ ​新​版​本​ ​p​i​p​ ​默​认​禁​止​直​接​向​系​统​ ​P​y​t​h​o​n​ ​安​装​p​i​p​包​,​不​过​可​以​--break-system-packages绕​过​这​个​机​制​。​但​是​这​会​污​染​系​统​ ​P​y​t​h​o​n​ ​环​境​,​所​以​如​果​计​划​在​容​器​中​做​更​多​开​发​,​强​烈​建​议​使​用​python -m venv。​当​然​,​如​果​整​个​容​器​内​只​运​行​m​a​n​i​m​的​话​问​题​也​不​大​。​

一​般​来​说​,​到​这​一​步​就​结​束​了​,​可​以​正​常​使​用​m​a​n​i​m​了​。​

​6​. ​安​装​ LaTeX \LaTeX LATEX

这​些​操​作​是​可​选​的​。​如​果​你​有​数​学​公​式​渲​染​的​需​求​,​就​继​续​看​下​去​吧​,​若​无​数​学​公​式​渲​染​需​求​,​到​这​里​就​可​以​结​束​安​装​啦​~​

​T​e​x​l​i​v​e​-f​u​l​l​

如​果​手​机​空​间​足​够​大​(​例​如​你​是​土​豪​)​,​不​想​倒​腾​想​省​心​,​那​么​安​装​t​e​x​l​i​v​e​-f​u​l​l​即​可​。​

bash 复制代码
apt install texlive-full

这​会​下​载​8​G​B​的​内​容​,​然​后​一​切​都​会​自​动​配​置​好​,​不​需​要​人​工​干​预​。​

​T​i​n​y​T​e​x​

如​果​你​觉​得​8​G​B​太​太​太​大​了​(​我​就​是​这​么​觉​得​的​,​显​然​我​不​是​土​豪​)​,​那​么​装​T​i​n​y​T​e​x​。​不​过​,​会​比​较​麻​烦​。​

执​行​:​

bash 复制代码
apt install wget
wget -qO- "https://tinytex.yihui.org/install-bin-unix.sh" | sh

自​此​,​T​i​n​y​T​e​x​安​装​完​毕​。​接​着​,​把​T​i​n​y​T​e​x​的​L​a​T​e​X​编​译​器​加​到​环​境​变​量​中​:​

bash 复制代码
echo export PATH="$HOME/.TinyTeX/bin/aarch64-linux:$PATH" >> ~/.bashrc

注​意​:​该​路​径​适​用​于​ ​A​R​M​6​4​(​a​a​r​c​h​6​4​)​设​备​,​但​如​果​你​的​设​备​不​是​ ​a​a​r​c​h​6​4​,​则​可​通​过​uname -m确​认​架​构​,​并​相​应​调​整​路​径​。​

重​新​登​录​:​

bash 复制代码
logout
proot-distro login ubuntu

检​查​:​

bash 复制代码
which latex

如​果​有​输​出​,​那​么​配​置​正​确​。​

接​着​,​安​装​必​要​的​包​:​

bash 复制代码
tlmgr install standalone dvisvgm preview babel babel-english
mktexlsr

LaTeX \LaTeX LATEX就​此​安​装​完​毕​!​

​7​. ​中​文​支​持​

如​果​需​要​支​持​中​文​,​那​么​还​需​要​修​改​文​件​。​(​推​荐​,​这​样​就​一​劳​永​逸​了​)​

安​装​nano(​熟​悉​vim的​也​可​以​使​用​vim)​:​

bash 复制代码
apt install nano

接​着​,​用​nano打​开​文​件​/usr/local/lib/python3.12/dist-packages/manim/utils/tex.py:​

bash 复制代码
nano /usr/local/lib/python3.12/dist-packages/manim/utils/tex.py

此​时​,​你​会​看​到​文​件​长​这​个​样​子​:​

py 复制代码
"""Utilities for processing LaTeX templates."""

from __future__ import annotations

__all__ = [
    "TexTemplate",
]

import copy
import re
import warnings
from dataclasses import dataclass, field
from pathlib import Path
from typing import TYPE_CHECKING, Any

if TYPE_CHECKING:
    from typing import Self

    from manim.typing import StrPath

_DEFAULT_PREAMBLE = r"""\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}"""

_BEGIN_DOCUMENT = r"\begin{document}"
_END_DOCUMENT = r"\end{document}"
#后面省略

翻​到​_DEFAULT_PREAMBLE,​修​改​成​这​样​:​

py 复制代码
#上面省略
_DEFAULT_PREAMBLE = r"""\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ctex}"""
#下面省略

然​后​,​Ctrl+O保​存​,​再​Enter确​认​,​最​后​Ctrl+X退​出​编​辑​。​

接​着​,​如​果​你​安​装​的​是​t​i​n​y​t​e​x​(​安​装​了​t​e​x​l​i​v​e​-f​u​l​l​的​忽​略​这​一​步​)​,​还​要​执​行​:​

bash 复制代码
tlmgr install ctex

​测​试​

安​装​完​成​后​,​可​以​写​一​个​M​a​n​i​m​场​景​,​保​存​到​main.py:​

py 复制代码
from manim import *
import random
import numpy

class Congratulations(Scene):
    def construct(self):
        banner = ManimBanner().scale(0.5)
        congratulation = Text("Congratulations!\nYour Manim installation was successful.").next_to(banner,DOWN).scale(0.8)
        self.play(banner.create(),Write(congratulation))
        
        confetti = VGroup()
        colors = [RED,BLUE,GREEN,YELLOW,PURPLE,ORANGE,PINK,TEAL]
        shapes = [Rectangle(width=0.08,height=0.08,fill_opacity=0.9,stroke_width=0),Circle(radius=0.04,fill_opacity=0.9,stroke_width=0),Triangle(radius=0.07,fill_opacity=0.9,stroke_width=0)]
        for i in range(120):
            p = shapes[random.randint(0,len(shapes) - 1)].copy().set_color(color=random.choice(colors))
            p.move_to([random.uniform(-6,6),-3.5,0])
            p.velocity = numpy.array([random.uniform(-0.6,0.6),random.uniform(1.8,2.8),0])
            p.rotate(random.uniform(0,TAU))
            p.angular_velocity = random.uniform(-2,2)
            p.gravity = -0.6
            p.fade_start = False
            confetti.add(p)

        def update_particles(mob,dt):
            for p in mob:
                p.shift(p.velocity * dt * 3)
                p.velocity[1] += p.gravity * dt * 3
                p.rotate(p.angular_velocity * dt * 3)
                if p.velocity[1] < 0 and not p.fade_start:
                    p.fade_start = True
                if p.fade_start:
                    p.set_opacity(max(0,p.get_fill_opacity() - 0.01))
        confetti.add_updater(update_particles)
        self.add(confetti)
        
        self.play(banner.expand())
        self.wait(3)
        self.play(FadeOut(banner),FadeOut(congratulation))

接​着​运​行​以​下​命​令​测​试​:​

复制代码
manim -ql main.py

如​果​能​成​功​生​成​视​频​,​那​么​恭​喜​,​你​的​m​a​n​i​m​可​以​正​常​使​用​了​。​

还​可​以​继​续​测​试​ LaTeX \LaTeX LATEX,​代​码​保​存​到​latex.py:​

py 复制代码
from manim import *

class TestLaTeX(Scene):
    def construct(self):
        euler = MathTex(r"\text{Euler's Formula: }e^{i\pi} + 1 = 0")
        binomial = MathTex(r"\text{Binomial Theroem: }(a+b)^n = \sum_{k=0}^n{\rm C}_n^ka^{n-k}b^k")
        taylor = MathTex(r"\text{Taylor Expansion: }e^x = \sum_{n=0}^{\infty}\dfrac{x^n}{n!}")
        gravity = MathTex(r"\text{Gravity: }F = G\dfrac{m_1 m_2}{r^2}")
        integral = MathTex(r"\text{Integral: }\int e^{x} \,{\rm d}x = e^{x} + C")
        formulae = VGroup(euler,binomial,taylor,gravity,integral).arrange(DOWN,aligned_edge=LEFT).center()
        self.play(Write(formulae,lag_ratio=0.01))
        self.wait(1)
        self.play(FadeOut(formulae))

执​行​:​

bash 复制代码
manim -ql latex.py

如​果​能​成​功​生​成​视​频​,​那​么​恭​喜​,​你​的​ LaTeX \LaTeX LATEX也​可​以​正​常​使​用​了​。​

对​于​中​文​,​代​码​保​存​到​ctex.py:​

py 复制代码
from manim import *

class TestChineseLaTeX(Scene):
    def construct(self):
        euler = MathTex(r"\text{欧拉公式:}e^{i\pi} + 1 = 0")
        binomial = MathTex(r"\text{二项式定理:}(a+b)^n = \sum_{k=0}^n{\rm C}_n^ka^{n-k}b^k")
        taylor = MathTex(r"\text{泰勒展开:}e^x = \sum_{n=0}^{\infty}\dfrac{x^n}{n!}")
        gravity = MathTex(r"\text{万有引力:}F = G\dfrac{m_1 m_2}{r^2}")
        integral = MathTex(r"\text{不定积分}\int e^{x} \,{\rm d}x = e^{x} + C")
        formulae = VGroup(euler,binomial,taylor,gravity,integral).arrange(DOWN,aligned_edge=LEFT).center()
        self.play(Write(formulae,lag_ratio=0.01))
        self.wait(1)
        self.play(FadeOut(formulae))

执​行​:​

bash 复制代码
manim -ql ctex.py

如​果​依​然​能​成​功​生​成​视​频​,​那​么​恭​喜​,​你​的​中​文​ LaTeX \LaTeX LATEX环​境​配​置​成​功​。​

当​然​,​如​果​遇​到​了​什​么​问​题​也​欢​迎​在​评​论​区​交​流​。​

​结​尾​

至​此​,​你​已​经​拥​有​了​一​个​手​机​版​的​动​画​引​擎​啦​!​

当​然​,​手​机​C​P​U​肯​定​没​有​电​脑​C​P​U​那​么​强​悍​,​因​此​渲​染​视​频​没​有​电​脑​那​么​快​,​不​要​要​求​太​高​哦​~​

码​字​不​易​,​记​得​点​赞​收​藏​哦​!​我​们​下​期​再​见​~​


​下​载​链​接​

T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​7​+)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-7​-g​i​t​h​u​b​-d​e​b​u​g​​u​n​i​v​e​r​s​a​l​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1DCpT4Vmb3hv6wFT54BLs0Q?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_universal.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​7​+,​a​r​m​6​4​-v​8​a​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-7​-g​i​t​h​u​b​-d​e​b​u​g​​a​r​m​6​4​-v​8​a​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1znolVwBiKcGSg5rGu_jbaw?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_arm64-v8a.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​7​+,​a​r​m​e​a​b​i​-v​7​a​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-7​-g​i​t​h​u​b​-d​e​b​u​g​​a​r​m​e​a​b​i​-v​7​a​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1CJgzQcBCZzginUv8khWDZQ?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_armeabi-v7a.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​7​+,​x​8​6​_​6​4​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-7​-g​i​t​h​u​b​-d​e​b​u​g​​x​8​6​_​6​4​.a​p​k​
百度网盘:https://pan.baidu.com/s/1zlr9BQG3GWKYKyJ4rTwsFw?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-7-github-debug_x86_64.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​5​/​6​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-5​-g​i​t​h​u​b​-d​e​b​u​g​​u​n​i​v​e​r​s​a​l​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1UN78Kknhx92JyxeY8MiV7w?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_universal.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​5​/​6​,​a​r​m​6​4​-v​8​a​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-5​-g​i​t​h​u​b​-d​e​b​u​g​​a​r​m​6​4​-v​8​a​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1xb1cUFbxD0SgcrZBnqJB4A?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_arm64-v8a.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​5​/​6​,​a​r​m​e​a​b​i​-v​7​a​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-5​-g​i​t​h​u​b​-d​e​b​u​g​​a​r​m​e​a​b​i​-v​7​a​.​a​p​k​
百度网盘:https://pan.baidu.com/s/1nWw5E9Iq0TEjZNdPoksbUw?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_armeabi-v7a.apk
其​他​版​本​可​也​可​前​往​Github下​载​
T​e​r​m​u​x​ ​(​适​用​于​A​n​d​r​o​i​d​ ​5​/​6​,​x​8​6​_​6​4​)​下​载​
文​件​:​t​e​r​m​u​x​-a​p​p​​v​0​.1​1​9​.0​-b​e​t​a​.​3​+a​p​t​-a​n​d​r​o​i​d​-5​-g​i​t​h​u​b​-d​e​b​u​g​​x​8​6​_​6​4​.a​p​k​
百度网盘:https://pan.baidu.com/s/1X-5JzUxKXNlIhRQWSk-k-w?pwd=0000
Github:https://github.com/termux/termux-app/releases/download/v0.119.0-beta.3/termux-app_v0.119.0-beta.3+apt-android-5-github-debug_x86_64.apk
其​他​版​本​可​也​可​前​往​Github下​载​
U​b​u​n​t​u​容​器​(​适​用​于​a​r​m​6​4​-v​8​a​)​下​载​
文​件​:​u​b​u​n​t​u​-n​o​b​l​e​-a​a​r​c​h​6​4​-p​d​-v​4​.1​8​.0​.t​a​r​.​x​z​
百度网盘:https://pan.baidu.com/s/1CpuLVOsFQ5z_hp-SnFVekA?pwd=0000
Github:https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-aarch64-pd-v4.18.0.tar.xz
U​b​u​n​t​u​容​器​(​适​用​于​x​8​6​_​6​4​)​下​载​
文​件​:​u​b​u​n​t​u​-n​o​b​l​e​-x​8​6​_​6​4​-p​d​-v​4​.1​8​.0​.t​a​r​.​x​z​
百度网盘:https://pan.baidu.com/s/1RjbBzGzWxhSgKLCQNy7VZA?pwd=0000
Github:https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-x86_64-pd-v4.18.0.tar.xz
U​b​u​n​t​u​容​器​(​适​用​于​a​r​m​e​a​b​i​-v​7​a​)​下​载​
文​件​:​u​b​u​n​t​u​-n​o​b​l​e​-a​r​m​-p​d​-v​4​.1​8​.0​.t​a​r​.​x​z​
百度网盘:https://pan.baidu.com/s/1merhqhqcUPGZIR3_8Vv_Ig?pwd=0000
Github:https://github.com/termux/proot-distro/releases/download/v4.18.0/ubuntu-noble-arm-pd-v4.18.0.tar.xz
M​a​n​i​m​测​试​文​件​下​载​
文​件​:​M​a​n​i​m​ ​可​渲​染​脚​本​.​z​i​p​
百度网盘:https://pan.baidu.com/s/1g1A1sDSbqW3lvwGf5wGPVA?pwd=0000
相关推荐
zhangphil2 小时前
Android图片解码器libjpeg-turbo vs Skia最佳实践
android
河铃旅鹿2 小时前
在Ubuntu系统上为Android交叉编译OpenSSL
android·linux·ubuntu
nannan85862 小时前
android 性能+AI 日志库-StatLog
android
xuankuxiaoyao3 小时前
Zygisk-LSPosed 模块完整作用说明
android
YXL1111YXL3 小时前
ViewModel 底层原理
android
阿pin3 小时前
Android随笔-APP首次启动流程
android·application·activity
阿pin3 小时前
Android随笔-SELinux是什么?
android·selinux
红糖奶茶3 小时前
设备管理器中Android出现黄色感叹号怎么办? 如何修复?
android
取个名字太难了~3 小时前
从通用到专用:影像 SDK 的场景化封装与垂直行业落地实践
android·数码相机·美颜·相机连接·demu