一、参考github 介绍:https://github.com/openstf/minicap

Requirements (前提)

  • NDK, Revision 10e (May 2015)
  • make  (http://gnuwin32.sourceforge.net/packages/make.htm ,Setup program 会自带依赖库文件)
  • android studio 下安装。

Building(编译)

We include libjpeg-turbo as a Git submodule, so first make sure you've fetched it.(在minicap目录下执行git命令,如果没有git可以下载。)

git submodule init
git submodule update

You're now ready to proceed.

Building requires NDK, and is known to work with at least with NDK Revision 10e (May 2015). Older versions do not work due to the lack of .asm file support for x86_64.

Then it's simply a matter of invoking ndk-build. (最简单的方式..\Android\sdk\ndk-bundle目录下ndk-build.cmd)

ndk-build

You should now have the binaries available in ./libs. (执行结果所在目录)

If you've modified the shared library, you'll also need to build that.(这个我还没试)

Make 编译cmd在minicap目录下执行make。如果不熟悉make命令,可以参考:http://www.cnblogs.com/kissfu/p/6343967.html。

makefile文件做了一些windows 系统的适应。

.PHONY: default clean prebuilt test

NDKBUILT := \
libs/arm64-v8a/minicap \
libs/arm64-v8a/minicap-nopie \
libs/armeabi-v7a/minicap \
libs/armeabi-v7a/minicap-nopie \
libs/x86/minicap \
libs/x86/minicap-nopie \
libs/x86_64/minicap \
libs/x86_64/minicap-nopie \ default: prebuilt clean:
ndk-build clean
rm -rf prebuilt $(NDKBUILT):
ndk-build test:
@if exist "prebuilt/armeabi-v7a/bin" echo "ddd"
@if not exist "prebuilt/armeabi-v7a/bin1" echo "ddd1" # It may feel a bit redundant to list everything here. However it also
# acts as a safeguard to make sure that we really are including everything
# that is supposed to be there.
prebuilt: \
prebuilt/armeabi-v7a/bin/minicap \
prebuilt/armeabi-v7a/bin/minicap-nopie \
prebuilt/armeabi-v7a/lib/android-9/minicap.so \
prebuilt/armeabi-v7a/lib/android-10/minicap.so \
prebuilt/armeabi-v7a/lib/android-14/minicap.so \
prebuilt/armeabi-v7a/lib/android-15/minicap.so \
prebuilt/armeabi-v7a/lib/android-16/minicap.so \
prebuilt/armeabi-v7a/lib/android-17/minicap.so \
prebuilt/armeabi-v7a/lib/android-18/minicap.so \
prebuilt/armeabi-v7a/lib/android-19/minicap.so \
prebuilt/armeabi-v7a/lib/android-21/minicap.so \
prebuilt/armeabi-v7a/lib/android-22/minicap.so \
prebuilt/armeabi-v7a/lib/android-23/minicap.so \
prebuilt/armeabi-v7a/lib/android-24/minicap.so \
prebuilt/armeabi-v7a/lib/android-25/minicap.so \
prebuilt/arm64-v8a/bin/minicap \
prebuilt/arm64-v8a/bin/minicap-nopie \
prebuilt/arm64-v8a/lib/android-21/minicap.so \
prebuilt/arm64-v8a/lib/android-22/minicap.so \
prebuilt/arm64-v8a/lib/android-23/minicap.so \
prebuilt/arm64-v8a/lib/android-24/minicap.so \
prebuilt/arm64-v8a/lib/android-25/minicap.so \
prebuilt/x86/bin/minicap \
prebuilt/x86/bin/minicap-nopie \
prebuilt/x86/lib/android-14/minicap.so \
prebuilt/x86/lib/android-15/minicap.so \
prebuilt/x86/lib/android-16/minicap.so \
prebuilt/x86/lib/android-17/minicap.so \
prebuilt/x86/lib/android-18/minicap.so \
prebuilt/x86/lib/android-19/minicap.so \
prebuilt/x86/lib/android-21/minicap.so \
prebuilt/x86/lib/android-22/minicap.so \
prebuilt/x86/lib/android-23/minicap.so \
prebuilt/x86/lib/android-24/minicap.so \
prebuilt/x86/lib/android-25/minicap.so \
prebuilt/x86_64/bin/minicap \
prebuilt/x86_64/bin/minicap-nopie \
prebuilt/x86_64/lib/android-21/minicap.so \
prebuilt/x86_64/lib/android-22/minicap.so \
prebuilt/x86_64/lib/android-23/minicap.so \
prebuilt/x86_64/lib/android-24/minicap.so \
prebuilt/x86_64/lib/android-25/minicap.so \ prebuilt/%/bin/minicap: libs\%\minicap
if not exist "$(@D)" mkdir "$(@D)"
copy "$^" "$@" prebuilt/%/bin/minicap-nopie: libs\%\minicap-nopie
if not exist "$(@D)" mkdir "$(@D)"
copy "$^" "$@" prebuilt/armeabi-v7a/lib/%/minicap.so: jni\minicap-shared\aosp\libs\%\armeabi-v7a\minicap.so
if not exist "$(@D)" mkdir "$(@D)"
copy "$^" "$@" prebuilt/arm64-v8a/lib/%/minicap.so: jni\minicap-shared\aosp\libs\%/arm64-v8a\minicap.so #目标:前置条件("/"改为"\")
if not exist "$(@D)" mkdir "$(@D)" #路径需要加引号,目标的目录 如果不存在创建目录。
copy "$^" "$@" #所有前置条件 目标 ,$(@D) 和 $(@F) 分别指向 $@ 的目录名和文件名 prebuilt/x86/lib/%/minicap.so: jni\minicap-shared\aosp\libs\%\x86\minicap.so
if not exist "$(@D)" mkdir "$(@D)"
copy "$^" "$@" prebuilt/x86_64/lib/%/minicap.so: jni\minicap-shared\aosp\libs\%\x86_64\minicap.so
if not exist "$(@D)" mkdir "$(@D)"
copy "$^" "$@"

windwos 下编译minicap的更多相关文章

  1. windwos 下编译 qsqlibase 驱动(firebird 和 interbase)

    编译环境:mingw-w64 使用qtcreator打开ibase.pro,ibase.pro位置例如:R:\qt-everywhere-opensource-src-4.8.5\src\plugin ...

  2. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  3. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  4. linux下编译gcc6.2.0

    linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...

  5. centos下编译安装lnmp

    centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...

  6. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  7. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  8. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  9. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

随机推荐

  1. Android图片的Base64编码与解码

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法. Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较 ...

  2. 不能用notepad++编辑器编写python

    不能用notepad++编辑器编写python,因为notepad对空格支持不是很良好,会出现莫名其妙的错误!建议用vim或emacs. 有人这样解释:不要混合使用制表符和空格来缩进,因为这在跨越不同 ...

  3. Android Studio多渠道打包(二)

    虽然多渠道打包的方式有很多种,那么今天我要说的通过工具的形式进行多渠道打包 首先,打开Android studio,找到顶部Build,点开 选择红色部分,里面的编辑框可以帮助我们更快的熟悉Gradl ...

  4. 轻量简单好用的C++JSON库CJsonObject

    1. JSON概述 JSON: JavaScript 对象表示法( JavaScript Object Notation) .是一种轻量级的数据交换格式. 它基于ECMAScript的一个子集.许多编 ...

  5. [katalon] 页面切换

    UI自动化测试过程中会涉及到需要切换多个页面, 如点击一个按钮之后跳转到新的页面, 后者A站点提交信息后,B站点审核. Katalon虽然不支持控制多个浏览器,但是支持处理tab切换. 核心方法是使用 ...

  6. 自动化测试基础篇--Selenium单选框(Radio)复选框(CheckBox)

    摘自:https://www.cnblogs.com/sanzangTst/p/7686602.html 一.什么是单选框.复选框? 二.单选框:radio 三.复选框:checkbox 四.判断是否 ...

  7. 在Unity中对Lua进行调试

    前言 接我之前的文章,讲到使用IntelliJ IDEA(做为Lua的编辑器)+EmmlyLua(插件),当然EmmlyLua也提供调试功能的. Lua代码提示和方法跳转 在Lua中提示UnityEn ...

  8. 同步下的资源互斥:停运保护(Run-Down Protection)机制

    背景 近期在学习ProcessHacker的源码,Process Hacker是一个免费的.功能强大的"任务管理器",可用于监听系统资源的使用情况,调试软件以及检测恶意程序.使用中 ...

  9. LeetCode算法题-Find the Difference(Java实现-五种解法)

    这是悦乐书的第214次更新,第227篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第82题(顺位题号是389).给定两个字符串s和t,它们只包含小写字母.字符串t由随机混 ...

  10. LeetCode算法题-Lowest Common Ancestor of a Binary Search Tree

    这是悦乐书的第197次更新,第203篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第59题(顺位题号是235).给定二叉搜索树(BST),找到BST中两个给定节点的最低共 ...