[英]Not able to compile external precompiled shared library with Android-NDK
[英]android using external shared library
我在Android應用程序中使用外部共享庫時遇到問題。 我創建了一個Android.mk文件,如下所示:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := MyApp
LOCAL_SRC_FILES := myexternallib.so
include $(PREBUILT_SHARED_LIBRARY)
使用ndk-build,我可以生成本地本機庫,並且可以在System.loadLibrary
方法中使用該本機庫。 當我運行該應用程序時,出現錯誤java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1486]: 2659 unknown reloc type 19 @ ( 4220)
在進一步的搜索中,我找到了一個建議使用android工具鏈構建共享庫的鏈接。 因此,我使用了其中一個工具鏈arm-eabi-gcc
來構建我的源文件,該prebuilt/linux_x86/toolchain/arm-eabi-4.4.3/bin
位於android源代碼的prebuilt/linux_x86/toolchain/arm-eabi-4.4.3/bin
目錄中。 我收到錯誤arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
。 我還注意到工具鏈文件夾沒有名為cc1
的文件。
我是否遵循正確的程序? 還有其他方法可以在Android代碼中引用外部共享庫嗎?
的確,您應該使用Android工具鏈。
Android NDK隨附了有關使用其工具提示的詳細說明: http : //source-android.frandroid.com/ndk/docs/STANDALONE-TOOLCHAIN.html 。 如果您對此文檔有特定疑問,請隨時提出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.