今天是儿童节,本来应该为小朋友们高高兴兴地过一天,但今天确实过得有点郁闷,因为我发了一天才解决了这个恶心的问题。问题是我在开发百度地图相关的应 用,因为工程中要引用百度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吧,呵呵。
相关推荐
3.Android.mk或Android.bp中引用Android的第三方(jar、aar、so)、Androidx的类库等的使用方法 4.Android.mk或Android.bp编译生成Apk、静态库、动态库、可执行文件等的使用方法 5.Android系统定制有源码App或无源码...
本文将详细介绍Android.mk中引用第三方库的方法,包括jar包、*.so文件和*.aar文件三种类型的第三方库。 一、集成第三方jar包 在Android.mk文件中引用第三方jar包需要进行以下步骤: 1. 在项目目录下创建libs目录...
Android.mk文件中添加第三方jar文件的方法 Android.mk文件是Android系统中的一个重要文件,它负责管理和编译Android应用程序中的资源...通过这两个语句,我们可以轻松地在Android.mk文件中添加和引用第三方jar文件。
`android.mk`文件是Android原生构建系统(NDK)中用于定义模块构建规则的脚本,主要用于C/C++原生库的编译。本篇文章将深入探讨`android.mk`文件的生成及其作用。 **1. android.mk文件简介** `android.mk`文件是...
SO 文件和 JAR 文件是 Android 应用程序中常用的第三方库,用于提供特殊的功能和服务。今天,我们将探讨如何在 Android 平台上增加第三方 SO 和 JAR。 aumentar SO 文件 在 Android 平台上,增加第三方 SO 文件...
本文档会详细介绍如何在Android.mk中引入第三方的jar包和so库文件。 当需要在Android.mk中引入第三方jar包时,通常有几种方法,包括使用LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES变量和LOCAL_STATIC_JAVA_LIBRARIES...
2. 第三方库开发:Android.mk 文件可以用于编译第三方库,例如 ffmpeg、 curl 等。 3. 系统开发:Android.mk 文件可以用于编译 Android 系统中的组件,例如蓝牙模块、 Wi-Fi 模块等。 Android.mk 文件是 NDK 中的一...
Android.mk文件是Android系统构建过程中不可或缺的一部分,它用于定义模块(module)的编译规则,包括源文件、依赖项、编译选项等。本篇文章将深入探讨Android.mk文件的语法规范,帮助开发者理解和掌握Android系统...
1. **理解模块结构**:首先,需要了解`Android.mk`文件中定义的各个模块类型,如`STATIC_LIBRARY`、`SHARED_LIBRARY`、`EXECUTABLES`等,以及它们的属性和依赖关系。 2. **映射模块**:对照`Android.bp`的模块类型...
android 拷贝文件的mk脚本,bin,lib
将android.mk转换为android.bp
在深入探讨`Android.mk`文件的具体语法规范和使用模板之前,我们先来简要回顾一下`Android.mk`文件的基本概念及其在Android NDK中的作用。`Android.mk`是一种特殊的Makefile,用于向Android NDK描述项目的C/C++源...
7. **扩展功能**:除了基本的`Android.mk`生成,工具可能还包括其他功能,如添加预编译宏定义、处理资源文件、支持第三方库的集成等。 8. **维护和更新**:由于Cocos2d-x框架持续更新,作者可能需要定期更新工具以...
编译系统将处理许多细节问题,例如,不需要在Android.mk文件中列出头文件和依赖文件。NDK编译系统将自动处理这些问题,使得升级NDK后,不需要改变Android.mk文件。 一个简单的Android.mk文件示例: LOCAL_PATH := ...
- 这意味着开发者无需在`Android.mk`中显式列出所有头文件和依赖文件,NDK构建系统会自动检测和处理这些依赖关系。 - 此外,升级NDK版本后通常无需修改`Android.mk`文件即可获得新工具链/平台的支持。 3. **兼容...
Android.mk 是Android构建系统中的关键文件,它定义了如何编译和构建Android项目的特定部分,如APK程序、Java库、C/C++应用程序、静态库和动态库。这份文档将详细介绍Android.mk的各个方面,帮助你深入理解其功能和...
3. **变量**:在 Android.mk 文件中,通过定义特定的变量来指定编译选项和源文件路径等信息。 4. **宏**:宏是由构建系统预定义的函数,用于简化编译配置过程。 #### 三、Android.mk 示例解析 以下是一个简单的...