zoukankan      html  css  js  c++  java
  • so文件(2)给外部工程引用

    调用第三方so文件,无需包名与so文件中的呼应java方法相同,就是创建一个jar,使它的包名和so中的包名相同。

    1.新建一个测试工程,创建好c++代码,cmake照旧写入。

    图1.1、测试工程目录

     

    2.建立library

    新建一个Android library的module,建立两个测试类,在其中一个测试类中导入lib,新建native方法,回到native-lib.cpp中添加方法。

    图2.1、library目录

    图2.2、新建类,声明native

    图2.3、声明方法的时候,包名是lib的包名

     

    3.生成so文件

    在库的gradle中添加以下,与Android同级,(生成release必须)。打开gradle页面,选择library模块-tasks-other-makejar即可生成release版。

    Jar的生成位置有两个,一个目录带有res.jar,生成的classes.jar无区别

    (1)outlibraryuildintermediatesintermediate-jars elease

    (2)outlibraryuildintermediatespackaged-classes elease

    图3.1、添加makejar操作

    图3.2、找到other下的makejar,双击运行即可生成。

     

    4.导入到新的工程

       将classes.jar导入新工程的lib中,新建文件夹/src/main/jniLibs,将so文件放入其中,此时调用classes.jar中封装的方法,即可不需要包名与so文件中的方法相同。

    图4.1、导入so和jar到新工程

  • 相关阅读:
    Swift入门篇-Hello World
    Swift入门篇-swift简介
    Minecraft 插件 world edit 的cs 命令
    搭建本地MAVEN NEXUS 服务
    MC java 远程调试 plugin 开发
    企业内部从零开始安装docker hadoop 提纲
    javascript 命令方式 测试例子
    ca des key crt scr
    JSF 抽象和实现例子 (函数和属性)
    form 上传 html 代码
  • 原文地址:https://www.cnblogs.com/lyxin/p/10052318.html
Copyright © 2011-2022 走看看