Ubuntu下为AndroidStudio编译并使用x264(一)ndk部分

来源:互联网 发布:中石油风险矩阵 编辑:程序博客网 时间:2024/05/17 12:54

1.1 下载ndk,并编译,做示例程序测试
1、下载Android NDK自解压包,
官方地址:
https://developer.android.com/ndk/downloads/index.html#download
下载:
$ wget -c http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin


2、解压,
将Android NDK压缩包解压到你想要的目录下,如
/opt/android/ndk/

ndk$ chmod a+x android-ndk-r10e-linux-x86_64.bin
ndk$ ./android-ndk-r10c-linux-x86_64.bin

解压后目录结构为:
/opt/android/ndk/android-ndk-r10e


3、配置PATH路径:
命令:
$ sudo vim /etc/profile,在文件末尾加入如下内容:

#set NDK env
export NDK_HOME=/opt/android/ndk/android-ndk-r10e
export PATH=$NDK_HOME:$PATH
【保存并退出】
$ source /etc/profile
至此 android NDK 安装配置完毕。


4、编译sample工程:
执行命令
$ cd /opt/android/ndk/android-ndk-r10e/samples/hello-jni

进入示例项目根目录,然后执行如下命令:
$ ndk-build

您将看到系统会编译出libhello-jni.so
至此示例项目编译完成,可将hello-jni项目导入ADT进行进一步的测试。

1.2 使用ndk编译x264
1.  下载源码并编译
$ cd /opt/android/ndk/android-ndk-r10e/resources
$ git clone http://git.videolan.org/git/x264.git
$ cd x264

修改configure文件
$ vim configure
将下面的这四句:
else
echo "SOSUFFIX=so" >> config.mak
echo "SONAME=libx264.so.$API" >> config.mak
echo "SOFLAGS=-shared -Wl, -soname, \$(SONAME)$SOFLAGS" >> config.mak
中的这句:
echo "SONAME=libx264.so.$API" >> config.mak
改成:
echo "SONAME=libx264.so" >> config.mak
【保存并退出】

创建配置脚本
$ vim android_x264_configure.sh
#!/bin/bash 
NDK=/opt/android/ndk/android-ndk-r10e
SYSROOT=$NDK/platforms/android-9/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64

function build_one 
{
./configure \
--prefix=$PREFIX \
--enable-shared \
--enable-static \
--enable-strip \
--enable-cli \
--enable-pic\
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--host=arm-linux-androideabi \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
CPU=arm
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS=""

build_one
【保存并退出】

$ chmod +x android_x264_configure.sh
$ ./android_x264_configure.sh
platform:      ARM
byte order:    little-endian
system:        LINUX
cli:           no
libx264:       internal
shared:        yes
static:        yes
asm:           yes
interlaced:    yes
avs:           avxsynth
lavf:          no
ffms:          no
mp4:           no
gpl:           yes
thread:        posix
opencl:        yes
filters:       crop select_every
debug:         no
gprof:         no
strip:         yes
PIC:           yes
bit depth:     8
chroma format: all

You can run 'make' or 'make fprofiled' now.

$ make
$ make install
$ ls -R android
android:
arm

android/arm:
Android.mk  bin  include  lib

android/arm/bin:
x264

android/arm/include:
x264_config.h  x264.h

android/arm/lib:
libx264.a  libx264.so  pkgconfig

android/arm/lib/pkgconfig:
x264.pc

$ vim android/arm/Android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VRS)
LOCAL_MODULE := libx264
LOCAL_SRC_FILES := lib/libx264.so
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)

【保存并退出】


至此ndk配置完毕.后面是配置Android Studio的部分。


fedora 23安装android studio:http://www.linuxdiyf.com/linux/16294.html

ubuntu15.04下Android studio开发配置完全教程:http://www.linuxdiyf.com/linux/14284.html

Ubuntu上安装Android Studio 1.3(谷歌Android IDE开发):http://www.linuxdiyf.com/linux/13264.html

在64位ubuntu15.04中安装android studio开发环境:http://www.linuxdiyf.com/linux/12996.html

在Ubuntu 15.04里安装Visual Studio Code:http://www.linuxdiyf.com/linux/12987.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婴儿冬天洗澡冷怎么办 宝宝洗澡冷到了怎么办 两个月婴儿干咳怎么办 2个月大宝宝咳嗽怎么办 宝宝蛋蛋有积液怎么办 宝宝的小鸡小怎么办 婴儿蛋蛋一直红怎么办 婴儿吃母乳拉肚子怎么办 满月宝宝拉水怎么办 小孩子拉肚子拉水怎么办 新生儿小鸡歪的怎么办 新生儿拉屎是水怎么办 婴儿拉屎稀水怎么办 新生儿睡得少怎么办 小孩大便是水怎么办 婴儿大便稀水样怎么办 小孩晚上睡不着觉怎么办 小孩小鸡头红怎么办 儿童睡觉磨牙齿怎么办 幼儿小鸡红肿疼怎么办 宝宝小鸡淹了怎么办 小孩的小鸡肿怎么办 小鸡脚趾歪了怎么办 小鸡脖子歪了怎么办 宝宝的小鸡红怎么办 游戏联不了网络怎么办 光敏印章进水了怎么办 照片打印出来黑怎么办 企业股东签名不符怎么办 电脑签字签不了怎么办 刘海的碎发怎么办 车牌号全是单数怎么办 品正通保车险超市怎么办营业执照 车辆咨询服务门市怎么办营业执照 被互盾科技骗了怎么办 家具生意不好怎么办啊 今年家具店生意不好怎么办 奶茶店位置不好怎么办 早餐店位置不好怎么办 木工做的不好怎么办 淘宝昵称改不了怎么办