<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Android on 大山的博客</title><link>https://da-shan.uk/tags/android/</link><description>Recent content in Android on 大山的博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 04 Aug 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://da-shan.uk/tags/android/index.xml" rel="self" type="application/rss+xml"/><item><title>如何使用Android NDK构建FFmpeg</title><link>https://da-shan.uk/posts/ffmpeg-android-ndk/</link><pubDate>Tue, 04 Aug 2020 00:00:00 +0000</pubDate><guid>https://da-shan.uk/posts/ffmpeg-android-ndk/</guid><description>&lt;p&gt;我写了一篇有关使用 NDK 编译 Android 的 FFmpeg 的文章，尽管它是中文并且使用起来太多了，但每天都有成千上万的访问。&lt;/p&gt;
&lt;p&gt;在这里，您将逐步了解如何使用最新的 git 存储库和最新的 Android NDK 版本构建 FFmpeg，并保证能够正常工作。&lt;/p&gt;
&lt;h2 id="有-ffmpeg-got-ffmpeg"&gt;有 FFmpeg (Got FFmpeg)&lt;/h2&gt;
&lt;p&gt;首先，您需要使用 git 来获取 FFmpeg 代码，如果您没有 git 或不想使用 git，则可以从 &lt;a href="http://ffmpeg.org"&gt;http://ffmpeg.org&lt;/a&gt; 获取 FFmpeg。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git checkout 5e99df019a850e9ffa96d73e72b8a47a93a61de8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="配置-ndk-configure-ndk"&gt;配置 NDK (Configure NDK)&lt;/h2&gt;
&lt;p&gt;在本教程中，我们不使用传统的 Android.mk 文件来构建 FFmpeg，而是尝试使用 Android NDK 独立工具链。要初始化工具链，请发出以下命令：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;ANDROID_NDK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/your/android/ndk/root
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;TOOLCHAIN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/tmp/ffmpeg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;SYSROOT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$TOOLCHAIN&lt;/span&gt;/sysroot/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$ANDROID_NDK&lt;/span&gt;/build/tools/make-standalone-toolchain.sh &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --platform&lt;span class="o"&gt;=&lt;/span&gt;android-14 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --install-dir&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nv"&gt;$TOOLCHAIN&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时，我们可以使用位于 &lt;code&gt;$TOOLCHAIN&lt;/code&gt; 的 Android 独立工具链来构建 FFmpeg。有关 Android 独立工具链的更多详细信息，请参见 Android NDK 的文档。&lt;/p&gt;</description></item></channel></rss>