1:编写java

  package com.example.zhaohu.test;

  public class MainActivity extends AppCompatActivity {

  protected void onCreate(Bundle savedInstanceState) {

    ...................

  final TextView infoText = (TextView)findViewById(R.id.info);
  infoText.setText(stringFromJNI());
  }
  public native String stringFromJNI();
  public native String unimplementedStringFromJNI();
  static {     

    System.loadLibrary("avcodec-57");

    System.loadLibrary("avfilter-6");

System.loadLibrary("avformat-57");
System.loadLibrary("avutil-55");
System.loadLibrary("swresample-2");
System.loadLibrary("swscale-4");
System.loadLibrary("hello");

}  

}

  

  在Android视图下的manifests中的AndroidManifest.xml中添加访问SDK卡和网络的权限

  在<manifest......>中添加

  • <uses-permission android:name="android.permission.INTERNET"/>
  • <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

2:在AS下面的Terminal中,生成C/CPP文件  

  •   zhaohudeMacBook-Air:main zhaohu$ cd /Users/zhaohu/AndroidStudioProjects/Test/app/src/main
  •   zhaohudeMacBook-Air:main zhaohu$ javah -d ../jni com.example.zhaohu.test.MainActivity
  •   生成C头文件(com_example_zhaohu_test_MainActivity.h)

3:在AS左侧Project视图中添加实现文件

4:在Project视图中app下编辑(build.gradle)

  sourceSets.main{

      jniLibs.srcDir 'libs'
      jni.srcDirs = []
    }

5:在工程的gradle.properties中添加

  • android.useDeprecatedNdk=true

6:在local.properties中添加SDK,NDK路径

  • sdk.dir=/Users/zhaohu/android-sdk-macosx

  • ndk.dir=/Users/zhaohu/android-ndk-r10e

7:编译库文件

  • zhaohudeMacBook-Air:main zhaohu$ pwd
  • /Users/zhaohu/AndroidStudioProjects/Test/app/src/main
  • zhaohudeMacBook-Air:main zhaohu$ ndk-build
  • [armeabi] Install : libavcodec-57.so => libs/armeabi/libavcodec-57.so
  • [armeabi] Install : .......................
  • zhaohudeMacBook-Air:main zhaohu$ cp libs/armeabi/* /Users/zhaohu/AndroidStudioProjects/Test/app/libs/armeabi-v7a/

8:编译工程,安装APK

Android Studio Ffmpeg的更多相关文章

  1. android studio ffmpeg简单使用 (cmake)

    编译ffmpeg android studio 新建项目,勾选上 将编译好的libffmpeg.so库扔到src/main/jniLibs/armeabi下(主要这里我只编译了arm的ffmpeg的库 ...

  2. Android开发学习之路--Android Studio cmake编译ffmpeg

      最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...

  3. 手把手图文并茂教你用Android Studio编译FFmpeg库并移植

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52661331 之前曾写过一篇&l ...

  4. FFmpeg在Android Studio中断点调试

    一般情况下在Android平台使用FFmpeg为动态库或静态库的形式,只能通过设置FFmpeg日志回调来看一些FFmpeg输出的日志,有时需要debug来查看FFmpeg内部执行过程,本文记录一下在A ...

  5. android studio下的NDK开发详解(一)

    源地址:http://www.voidcn.com/blog/chengkaizone/article/p-5761016.html 好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好. ...

  6. Android ijkplayer在windows下编译并导入Android Studio

     我是看着里面的步骤来做的,由于我自己对Linux环境和命令不熟悉,导致我对Cygwin的知识为零,在编译ijkplayer的时候走了一点弯路,需要的同学先去看一下上面的这篇文章,我这边是对上面文章做 ...

  7. Android Studio NDK编程初探

    继上一篇学习了如何使用NDK编译FFMPEG后,接下来就是要学习如何在Android Studio中使用了. 经过参考和一系列的摸索,记录下具体步骤. 创建C++ Support的Android St ...

  8. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  9. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

随机推荐

  1. HandBrake 开源视频转码器、编码转换器、格式转换器

    HandBrake 开源视频转码器.编码转换器.格式转换器 点击下图进入官网下载页面:https://handbrake.fr/downloads.php macOS 下可能会阻止安装! 其实也不是安 ...

  2. 对抗网络之目标检测应用:A-Fast-RCNN

    对抗网络之目标检测应用:A-Fast-RCNN 论文:A-Fast-RCNN: Hard Positive Generation via Adversary for Object Detection ...

  3. js 压缩 预览 上传图片

    com.js export const compressImage=function (files,fn,preCallbackFn,i) { let newfile = files.files[0] ...

  4. 【计算机视觉】如何使用opencv自带工具训练人脸检测分类器

    前言 使用opencv自带的分类器效果并不是很好,由此想要训练自己的分类器,正好opencv有自带的工具进行训练.本文就对此进行展开. 步骤 1.查找工具文件: 2.准备样本数据: 3.训练分类器: ...

  5. Photoshop通道抠出散乱的儿童头发

    抠图之前仔细分析是必不可少的.要了解清楚需要抠取部分的构成,然后选择最快捷的方法.教程素材图片人物头发色调比较单一,背景色也比较单一,用通道抠图是非常快捷的. 最终效果1 最终效果2 原图 一.复制图 ...

  6. 线上服务内存OOM问题定位[转自58沈剑]

    相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问 ...

  7. redis sentinel 高可用(HA)方案部署,及python应用示例

    redis sentinel(哨兵)高可用集群的部署方法,并通过 python 程序实例讲解如何使用 redis sentinel 简介 介绍 redis sentinel(哨兵)集群的部署,配置一主 ...

  8. 模板引擎之jade 学习

    jade 模板引擎在node express 开发中有较多的使用,首先我们看一个简单的使用jade 生成的html 页面的标签代码: doctype html html(lang="en&q ...

  9. mockito框架

    2016-04-09 15:56:26 参考自 http://www.cnblogs.com/silence-hust/p/5017233.html http://blog.csdn.net/sdyy ...

  10. EasyPHP-Devserver-17的坑位

    mysql登陆错误:error: 'Plugin '*2A8AF30E682613A2F1CE1E28BA11D8560B294DCE' is not loaded' http://stackover ...