【发布时间】:2024-05-01 19:35:02
【问题描述】:
我有两个共享库:A.so 和 B.so,并希望将它们与我的 Android Project 链接。
- 从 Eclipse 创建一个新的 Android 项目
- 右键项目->Android工具->添加原生支持
- 它创建了一个新文件夹:
JNI、JNI/projectname.cpp和JNI/Android.mk - 现在我将
A.so和B.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 ****
我担心的是它没有使用Project.so 构建A.so 和B.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)
【问题讨论】:
-
你说“它没有用 Project.so 构建 A.so 和 B.so”是什么意思? A.so 和 B.so 已经构建,将按原样使用。只有你的 projectname.so 会构建。
-
@Ganster41 明白了!但是有没有什么办法可以查出它们是否成功地与项目集成了呢?
-
libs/armeabi 文件夹将在每次构建后被清除。看看我的回答,如何正确添加预建。如果 libs 集成正确,它会在构建后复制到 libs/armeabi 文件夹,并会出现在生成的 APK 中。
标签: android eclipse android-ndk shared-libraries