2016-10-20 13 views
4

私はプロジェクトにライブラリを追加しようとしましたが、アンドロイドスタジオは私のライブラリを無視します。 My CmakeLists.txt add_library(mylib SHARED IMPORTED) set_target_properties(ffmpeg PROPERTIES IMPORTED_LOCATION src/main /libs/${ANDROID_ABI}/libmylib.so)アンドロイドスタジオ2.2の事前ビルド* .soライブラリを追加する方法

私のapkをビルドした後、libmylib.soは含まれていません。 cmakeを使ってプロジェクトにビルド済みのライブラリを追加するには?

+0

可能な複製[。*?\含める方法のAndroid Studioのライブラリそう](https://stackoverflow.com/questions/24357687/how-to-include-so-library-in-android-studio) –

答えて

7

を追加見つける現在のアプリでそれをパックする必要があります。ある

sourceSets { 
     main { 
      // let gradle pack the shared library into apk 
      jniLibs.srcDirs = ['point/to/your/shared-lib'] 
     } 
    } 

一例:https://github.com/googlesamples/android-ndk/blob/master/hello-libs/app/build.gradle 共有libには、[あなたがプロジェクトパス内にある]あなたのプロジェクトに近い場合は、あなたのCMakeLists.txtうに共有-LIBの相対パスを入れて、それはのようなものかもしれません作業。

このバグの下部にあるいくつかの背景の説明は役立つかもしれない: https://code.google.com/p/android/issues/detail?id=214664&can=8&q=vulkan&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars%20Reporter%20Opened

+0

ありがとう。それは作品です。 – streit

2

1 - ルートディレクトリに新しいフォルダ:/ libsを作成し、ここに外部ライブラリを配置します。

2 - プロジェクトの構造を変更し

yourprojectname/ 
     app/ 
      - build.gradle // Local Gradle configuration (for app only) 
      ... 
     libs/ 
      libraryName/ 
       - build.gradle // Local Gradle configuration (for library only) 
     - build.gradle // Global Gradle configuration (for whole project) 
     - settings.gradle 
     - gradle.properties 
     ... 

3 - あなたのライブラリー

include ':app', ':libraryName' 
project(':libraryName').projectDir = new File('libs/libraryName') 

4-でアプリの追加/ build.gradle

にgradle.setting変更することを忘れないでください

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile project(":PagerSlidingTabStrip") 
} 

また、アンドロイドスタジオにライブラリーを追加して、グラデルとプロジェクトの構造を設定する方法があります:

1.File /プロジェクト構造/

2.Inモジュール部、プロジェクトおよび依存]タブでは、あなたのライブラリー

+0

ありがとうございました。それは作品です。 – streit

+1

実際にあなたの答えは質問の文脈に関連していません。質問は、.soファイルを持つndkライブラリを追加することです。あなたが話しているのは、通常のjarまたはaarベースのライブラリを追加することです。 –

関連する問題