`

android.mk文件中引用第三方jar和so文件的方法

 
阅读更多

    今天是儿童节,本来应该为小朋友们高高兴兴地过一天,但今天确实过得有点郁闷,因为我发了一天才解决了这个恶心的问题。问题是我在开发百度地图相关的应 用,因为工程中要引用百度API的JAR文件和SO文件,而我的工程又必须在LINUX命令行环境下编译,因此需要为项目编写一个MK文件来进行编译。

    这个问题属性引用第三方库的问题,引用JAR文件的方法是先定义LOCAL_STATIC_JAVA_LIBRARIES

LOCAL_STATIC_JAVA_LIBRARIES := baidumap \
http://hi.baidu.com/cmdmac/item/43b8e0348b1c91f1e7bb7aa4

 

这是JAR文件库的别名,我这里用了两个别名,一个baidumap,一个是googlemap.别名是可以随便可以写的。

然后再定义LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES,

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libarity:libs/armeabi/baidumapapi.jar\
                                        googlemap:libs/armeabi/maps.jar

这个变量是相应库对应的jar文件的路径,格式是 别名:JAR路径

  引用第三方SO文件,在 eclipse工程里编译的时候,如果把so文件放在libs/armeabi/下的话,adt会直接给你自动把SO文件把包进去 。而在命令行下进行的话应该定义LOCAL_JNI_SHARED_LIBRARIES,

LOCAL_JNI_SHARED_LIBRARIES := libBMapApiEngine     

这样还不行,这样直接编译会引发错误:找不到out/target/product/***/obj/lib/******.so

这时你需要把你的so文件放到out/target/product/***/obj/lib目录下。

这样再编译就没问题了。

    另外在MK中文件中include $(BUILD_PACKAGE)是要编译这个工程,不加这个不会编译,MK文件具体写法请GOOGLE吧,呵呵。

分享到:
评论

相关推荐

    Android系统定制之Android.mk和Android.bp语法详解(精通版).mp4

    3.Android.mk或Android.bp中引用Android的第三方(jar、aar、so)、Androidx的类库等的使用方法 4.Android.mk或Android.bp编译生成Apk、静态库、动态库、可执行文件等的使用方法 5.Android系统定制有源码App或无源码...

    详解android.mk中引用第三方库的方法

    本文将详细介绍Android.mk中引用第三方库的方法,包括jar包、*.so文件和*.aar文件三种类型的第三方库。 一、集成第三方jar包 在Android.mk文件中引用第三方jar包需要进行以下步骤: 1. 在项目目录下创建libs目录...

    Android.mk文件中添加第三方jar文件的方法

    Android.mk文件中添加第三方jar文件的方法 Android.mk文件是Android系统中的一个重要文件,它负责管理和编译Android应用程序中的资源...通过这两个语句,我们可以轻松地在Android.mk文件中添加和引用第三方jar文件。

    生成android.mk文件

    `android.mk`文件是Android原生构建系统(NDK)中用于定义模块构建规则的脚本,主要用于C/C++原生库的编译。本篇文章将深入探讨`android.mk`文件的生成及其作用。 **1. android.mk文件简介** `android.mk`文件是...

    android如何增加第三方so和jar

    SO 文件和 JAR 文件是 Android 应用程序中常用的第三方库,用于提供特殊的功能和服务。今天,我们将探讨如何在 Android 平台上增加第三方 SO 和 JAR。 aumentar SO 文件 在 Android 平台上,增加第三方 SO 文件...

    Android.mk引入第三方jar包和so库文件的方法

    本文档会详细介绍如何在Android.mk中引入第三方的jar包和so库文件。 当需要在Android.mk中引入第三方jar包时,通常有几种方法,包括使用LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES变量和LOCAL_STATIC_JAVA_LIBRARIES...

    Android NDK开发指南-android.mk文件

    2. 第三方库开发:Android.mk 文件可以用于编译第三方库,例如 ffmpeg、 curl 等。 3. 系统开发:Android.mk 文件可以用于编译 Android 系统中的组件,例如蓝牙模块、 Wi-Fi 模块等。 Android.mk 文件是 NDK 中的一...

    Android.mk文件语法规范

    Android.mk文件是Android系统构建过程中不可或缺的一部分,它用于定义模块(module)的编译规则,包括源文件、依赖项、编译选项等。本篇文章将深入探讨Android.mk文件的语法规范,帮助开发者理解和掌握Android系统...

    androidmk 转换Android.bp工具方法

    1. **理解模块结构**:首先,需要了解`Android.mk`文件中定义的各个模块类型,如`STATIC_LIBRARY`、`SHARED_LIBRARY`、`EXECUTABLES`等,以及它们的属性和依赖关系。 2. **映射模块**:对照`Android.bp`的模块类型...

    android.mk 拷贝文件的脚本

    android 拷贝文件的mk脚本,bin,lib

    Android.mk转化Android.bp工具

    将android.mk转换为android.bp

    Android.mk文件语法规范及使用模板.pdf

    在深入探讨`Android.mk`文件的具体语法规范和使用模板之前,我们先来简要回顾一下`Android.mk`文件的基本概念及其在Android NDK中的作用。`Android.mk`是一种特殊的Makefile,用于向Android NDK描述项目的C/C++源...

    Cocos2d-x Android.mk文件自动修改器

    7. **扩展功能**:除了基本的`Android.mk`生成,工具可能还包括其他功能,如添加预编译宏定义、处理资源文件、支持第三方库的集成等。 8. **维护和更新**:由于Cocos2d-x框架持续更新,作者可能需要定期更新工具以...

    Android.mk用法介绍

    编译系统将处理许多细节问题,例如,不需要在Android.mk文件中列出头文件和依赖文件。NDK编译系统将自动处理这些问题,使得升级NDK后,不需要改变Android.mk文件。 一个简单的Android.mk文件示例: LOCAL_PATH := ...

    Android_makefile编译系统_Android.mk_文件语法规范

    - 这意味着开发者无需在`Android.mk`中显式列出所有头文件和依赖文件,NDK构建系统会自动检测和处理这些依赖关系。 - 此外,升级NDK版本后通常无需修改`Android.mk`文件即可获得新工具链/平台的支持。 3. **兼容...

    Android.mk 详解剖析

    Android.mk 是Android构建系统中的关键文件,它定义了如何编译和构建Android项目的特定部分,如APK程序、Java库、C/C++应用程序、静态库和动态库。这份文档将详细介绍Android.mk的各个方面,帮助你深入理解其功能和...

    Android.mk文档规范

    3. **变量**:在 Android.mk 文件中,通过定义特定的变量来指定编译选项和源文件路径等信息。 4. **宏**:宏是由构建系统预定义的函数,用于简化编译配置过程。 #### 三、Android.mk 示例解析 以下是一个简单的...

Global site tag (gtag.js) - Google Analytics