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. react 学习日记

    1.本地配置代理服务:   create-react-app 创建的react项目 package.jsoin 中 加入: "proxy": "http://localh ...

  2. C语言基础:函数(Function) 分类: iOS学习 c语言基础 2015-06-10 21:48 14人阅读 评论(0) 收藏

    函数:一段具有某些特定功能的代码段. 使用函数的严格规定: 1.函数声明 2.函数定义 3.函数调用 函数声明:告知系统编译器该系统的函数名,函数参数,参数类型,参数个数,参数顺序等等,以便函数调用时 ...

  3. ThinkPHP CodeIgniter URL访问举例

      ThinkPHP   URL访问:   http://localhost/think/index.php/Home/login/func/[name/syt/password/123/]   ht ...

  4. I.MX6_Linux_UART_device&driver_hacking

    /****************************************************************************************** * I.MX6_ ...

  5. Nim Game,一个有趣的游戏,也是一道入门算法题。

    Nim Game,其实很多人都玩过.其实就是我们玩的划线游戏. 一张纸上,画若干条线,双方一人划一次,每次划掉1~3条线.可以选择画1条,也可以划2条,也可以3条.具体划去几条线完全看自己的策略.谁划 ...

  6. CodeForces - 1073E :Segment Sum (数位DP)

    You are given two integers l l and r r (l≤r l≤r ). Your task is to calculate the sum of numbers from ...

  7. L3-020 至多删三个字符 (30 分)

    给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串? 输入格式: 输入在一行中给出全部由小写英文字母组成的.长度在区间 [4, 1] 内的字符串. 输 ...

  8. django 使用Ajax方式POST JSON数据包

    示例1: js: function SaveAction(){ //点击 保存按键 var senddata = {"type":"A", "host ...

  9. Mfs+drbd+keepalived实现mfs系统高可用

    http://blog.sina.com.cn/s/blog_53c654720102wo1k.html Moosefs分布式文件系统是一个易用的系统,但其只有在Pro版中提供了master的高可用方 ...

  10. Python+VSCode+Git 学习总结

    稍等,先写个脑图... 继续,读完本文,你会学会: 1.如何在VSCode中写Python代码: 2.如何在VSCode中使用Git: 为什么写这篇总结 首先,我假设你是一名Python语言初学者,你 ...