gpt4 book ai didi

android - 无法使用 Android-NDK 编译外部预编译共享库

转载 作者:行者123 更新时间:2023-11-29 16:01:44 26 4
gpt4 key购买 nike

我有两个共享库:A.soB.so并想将它们与我的 Android Project 联系起来.

  1. 从 Eclipse 创建一个新的 Android 项目
  2. 右击项目-> Android Tools-> Add Native support
  3. 它创建了一个新文件夹:JNI , JNI/projectname.cppJNI/Android.mk
  4. 现在我添加A.soB.so<Project-folder>/libs/armeabi

当我构建项目时,我在控制台中得到了这个输出:

**** Build of configuration Default for project fona ****

/home/users/android-ndk/ndk-build all
Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml
[armeabi] Install : projectname.so => libs/armeabi/libprojectname.so

*** Build Finished ****

我担心的是它没有构建 A.soB.soProject.so .可能是我在 Android.mk 中缺少了什么文件

Android.mk的内容|文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := projectname
LOCAL_SRC_FILES := projectname.cpp
include $(BUILD_SHARED_LIBRARY)

最佳答案

您不能只放置预构建的库。您也需要将其定义为单独的模块。将你的 A.so 和 B.so 移动到 jni 文件夹,然后像这样修改你的 Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := A
LOCAL_SRC_FILES := A.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := B
LOCAL_SRC_FILES := B.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := projectname
LOCAL_SRC_FILES := projectname.cpp
include $(BUILD_SHARED_LIBRARY)

关于android - 无法使用 Android-NDK 编译外部预编译共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24058734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com