`

2012.08.23——— android ndk 编译多个so

阅读更多
2012.08.23——— android ndk 编译多个so

参考:http://hualang.iteye.com/blog/1140414
http://hi.baidu.com/joec3/item/0e4fca153eb0e3dcbf904211
http://blog.csdn.net/wjr2012/article/details/6887559

场景:你有一个别人用ndk编译的so,你想要用到自己的应用里面 ,这时候mk文件如何编写

我自己试了两种 基本上都管用

1、只生成目标so

LOCAL_PATH := $(call my-dir)


#
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include 
LOCAL_MODULE := liboutput
LOCAL_SRC_FILES := output.c
LOCAL_LDLIBS	:= -laaa

include $(BUILD_SHARED_LIBRARY)


别的就不解释了 只说一下laaa,这个就是第三方库libaaa,这个方法需要把libaaa.so复制到
ndk目录下面,位置在
platforms\android-X\arch-arm\usr\lib


这样你就得到了目标liboutput.so,当然 使用的时候 需要把libaaa.so复制到项目的libs目录下面


2、生成多个so

LOCAL_PATH := $(call my-dir)

#
include $(CLEAR_VARS)

LOCAL_MODULE    := aaa-prebuild
LOCAL_SRC_FILES := libaaa.so

include $(PREBUILT_SHARED_LIBRARY)


#
include $(CLEAR_VARS)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include 
LOCAL_MODULE := liboutput
LOCAL_SRC_FILES := output.c
LOCAL_LDLIBS	:= -L$(LOCAL_PATH)
LOCAL_LDLIBS	+= -llog

LOCAL_SHARED_LIBRARIES := aaa-prebuild

include $(BUILD_SHARED_LIBRARY)


这个将生成libaaa.so和liboutput.so两个so文件 直接使用即可

分享到:
评论

相关推荐

    com.android.ide.eclipse.ndk_23.0.2.1259578.jar

    android adt自带eclipse无法设置ndk路径,需要下载com.android.ide.eclipse.ndk_23.0.2.1259578.jar文件,然后复制到sdk 只带的eclipse目录的“plugins”下面,如我的复制到"D:\Android\adt-bundle-windows-x86_64-...

    com.android.ide.eclipse.ndk_23

    2. **编译和构建**:通过NDK插件可以执行ndk-build命令,编译C/C++源码,生成.so库文件。 3. **调试支持**:设置断点,调试C/C++代码,查看变量值,步进执行等。 4. **依赖管理**:管理库文件依赖,确保正确链接。 5...

    使用Android NDK编译Android平台的eXosip库

    在Android平台上开发VoIP或SIP(Session Initiation Protocol)应用时,eXosip库是一个重要的组件。本文将深入探讨如何使用Android ...此外,为了保证最佳性能和兼容性,应针对不同的Android设备架构编译多个版本的库。

    Android_NDK.zip_Android so库_NDK SO_android_android so_调用.so

    本压缩包"Android_NDK.zip"包含了关于Android NDK开发实例的相关资料,主要关注如何生成SO库以及如何在Android系统中调用这些库。以下是详细的知识点说明: 1. **Android NDK基础**: - NDK提供了一套工具集,包括...

    LINUX下Android NDK下载并配置

    下载 https://developer.android.google.cn/ndk/downloads/ ...试了更低版本都不对,干脆不编译这个了。 解压 unzip android-ndk-r16b-linux-x86_64.zip 配置 export NDK=/home/quantum6/android-ndk-16b

    ubuntu下android ndk编译环境搭建详细描述

    2. 跨平台兼容性:NDK支持多个CPU架构,如armeabi-v7a、arm64-v8a、x86和x86_64,需要为每个架构配置和编译。 3. 优化和调试:使用NDK的 `-DANDROID_NDK_DEBUG=1` 开关开启调试模式,优化性能时可以考虑使用 `-O3` ...

    live555 ndk 编译

    live555 库 和 testRtspClient.cpp 编译生成静态库 和 可执行文件 testRtspClient 编译方法: 首先进入各个模块执行 Makefile,将静态库拷贝至上层目录 执行 ndk-build

    android编译的openssl静态库.a 动态库.so

    总结起来,`android编译的openssl静态库.a 动态库.so`涉及到的关键点包括:Android NDK的使用、OpenSSL源码的编译配置、静态库与动态库的区别以及如何在Android应用中集成这些本地库。正确理解和操作这些步骤对于在...

    com.android.ide.eclipse.ndk_23.0.4

    com.android.ide.eclipse.ndk_23.0.4.1468518.jar 解决eclipse无NDK选项设置问题。复制到eclipse目录的“plugins”下面。如我的复制到"\eclipse\plugins\com.android.ide.eclipse.ndk_23.0.4.1468518.jar" 然后重启...

    android-ndk-r23b-linux.zip

    NDK包含多个版本,如本例中的"android-ndk-r23b",代表着第23版的NDK,适用于Linux操作系统。 NDK的使用场景主要包括以下几点: 1. **性能优化**:对于CPU密集型任务,如图形渲染、物理模拟或者加密算法,使用C++...

    android使用NDK编译curl库源码

    在这个场景中,我们将探讨如何在Android环境下使用NDK(Native Development Kit)编译Curl库源码。 首先,NDK是Google提供的一个工具集,允许开发者在Android应用中集成原生代码。通过NDK,我们可以编写C和C++代码...

    android ndk下编译的live555源码(新版)

    在Android平台上进行多媒体流处理时,经常会涉及到一个开源库——Live555。这个库主要用于实时音频和视频流的处理,支持多种网络协议,如RTSP(Real-Time Streaming Protocol)、RTP(Real-time Transport Protocol...

    解决eclipse无NDK选项设置问题 com.android.ide.eclipse.ndk_23.0.2.1259578.jar

    解决eclipse无NDK选项设置问题。复制到eclipse目录的“plugins”下面。如我的复制到"\eclipse\plugins\com.android.ide.eclipse.ndk_23.0.2.1259578.jar"

    ceres2.0.0编译Android的jni文件

    NDK提供了一个交叉编译环境,允许我们在本地机器上构建针对Android平台的原生代码。 接下来,我们需要下载Ceres Solver的源代码。在官方GitHub仓库中找到Ceres 2.0.0的release,并将其解压到你的工作目录。同时,你...

    解决Eclipse-Preferences-Android无NDK选项的问题

    下载NDK组件com.android.ide.eclipse.ndk_23.0.2.1259578.jar。将文件“com.android.ide.eclipse.ndk_23.0.2.1259578.jar”复制到sdk自带的eclipse/plugins目录下

    android编译openssl静态库.a 动态库.so

    本篇文章将详细讲解如何在Android环境中编译OpenSSL静态库(.a)和动态库(.so)。 首先,你需要下载OpenSSL的源代码。在这个案例中,我们有一个名为`openssl-android-master`的压缩包,这是OpenSSL的一个Android适配...

    使用NDK编译Android第三库.so和.a 参考Github上的工程,仅 有OpenSSL为例pdf

    总结,使用NDK编译Android第三方库,如OpenSSL,涉及到一系列步骤,包括环境配置、源码获取、构建系统配置、编译选项设置、编译和链接、生成.so文件、集成到项目以及在Java代码中的使用。这个过程可能复杂且耗时,但...

    Android ndk Android.mk

    这个虽然只是个简单的jnidemo、但是涵盖了Android.mk 和Application.mk 的原理 重点是Android NDK编译的理解 mac 系统下 切换到jni目录,然后呢个 ndk-build

    Unity安卓开发最全NDK版本下载

    Unity进行安卓开发,有时会需要使用NDK,不同版本的Unity对NDK版本要求不一致。 比如Unity2021.3.3f1要使用21.3.6528147这个版本;Unity2020.3.20f1要使用19.0.5232133。因此下载对应版本NDK就至关重要。 我这里提供...

    android ndk环境下移植libiconv方法 附源码

    4. **执行编译**:在`Android.mk`所在的目录下,执行`ndk-build`命令,这将会生成一个适用于Android平台的静态库文件(通常为`libiconv.a`)。 5. **链接库到项目**:将生成的`libiconv.a`库添加到你的Android项目...

Global site tag (gtag.js) - Google Analytics