2017-03-15 15 views
4

私はいくつかのプリコンパイルされたネイティブライブラリとアンドロイドのアプリケーションを構築しようとしている: liba.soとlibb.so.1.2.3Gradleを使ってversioned * .soファイルをapkに組み込むには?

ライブラリはjniLibsサブディレクトリに配置されています。 APKファイルを作成した後、liba.soのみが含まれますが、libb.so.1.2.3は含まれません。

結果は予測可能です。開始時にアプリケーションがクラッシュする。

jniLibsからAPKにすべてのファイルを組み込むためのビルドスクリプトはどうすればよいですか?

+0

あなたの問題を解決できましたか?私も解決策が必要です。 – user1506104

答えて

0

残念ながら私はもうAndroid用に開発されていないため、これをテストすることはできませんが、Gradleがこれを知っています。 Android DSL docsを見ると、あなたはjniLibsフォルダにフィルタリングを変更することができるかもしれない:

android { 
    sourceSets { 
     main { 
      jniLibs.filter.include("**/*") 
     } 
    } 
} 

はこれが動作するかどうか、私に教えてください!

+0

これを試しましたが、エラーが発生します:** readonlyプロパティを設定できません:クラスのフィルタ:com.android.build.gradle.internal.api.DefaultAndroidSourceDirectorySet ** – kostashv

+0

jniLibs全体を設定できますか?私はAndroid SDKをインストールすることができれば、明日、それをテストしようとすることができます。しかし、 'jniLibs {filter = '' srcDir = ''}'などのようになります(ドキュメントのすべてのプロパティ)。 – sm4

+0

したがって、フィルターはPatternSetです。私は私の答えを更新しました。これはコンパイル(私はAndroidプラグインで試してみました)、試してみるために.soがないので、アプリをデプロイできません。 – sm4

関連する問題