2016-10-20 10 views
2

ABIに基づいて別のC++ライブラリをリンクしたいと思います。私は、x86で動作するlibの1つのバージョンと、armeabi-v7aで動作する1つのバージョンを持っています。 Android Studioでこれをどのように達成できますか?ABIベースの異なるライブラリをリンク

私はグーグルで解決策を得ることができませんでした。私はCMakeとGradleの新機能です。 Android全体としてのtbh :)ので、どんな助けも大歓迎です。

答えて

2

私はそれをsloveするこの方法で管理:

set (libs_list "commonLib1" "commonLib2") 

if (${ANDROID_ABI} STREQUAL "armeabi-v7a")  
    set(libs_list ${libs_list} "armLib") 

elseif ((${ANDROID_ABI} STREQUAL "x86") OR (${ANDROID_ABI} STREQUAL "x86_64"))  
    set(libs_list ${LIBRARIES_LIST} "x86Lib") 

endif() 

target_link_libraries(native_lib ${libs_list}) 
+0

のAndroidは、直接サブを作成し、その後、あなたが同じ名前であるためにあなたのlibに名前を付けることができれば、異なるABIサブフォルダに同じlibの名前を拾うlibフォルダを作成します正確なabi名を持つフォルダには、そのディレクトリにabi-libを置いてください。それは働くだろう – Gerry

+0

@Gerryありがとう、私はそれを知らなかった。しかし、私の場合、実際には異なるABIのために異なるライブラリをロードしたいと思っていました。 – rozina

関連する問題