2017-10-26 22 views
0

Androidスタジオで使用する.AAR(私ではない)に変換されたC++ライブラリ。私はlibフォルダ内にaarファイルを追加することができ、gradleを使って正常に同期することができました。AndroidスタジオにC++ AARライブラリを追加するには?

私は、C++ライブラリにアクセスできるのはJNIだけであることはよく知っています。残念なことに、JNIに含めるC++のlib関数を見つけることはできません。

私はC++のlibとの統合が初めてです。 ARRファイルが8つの.SOファイル

プロジェクトレベル

 repositories { 
    jcenter() 
    flatDir{ 
     dirs 'libs' 
    } 
} 

アプリレベル

compile(name:'oxy', ext:'aar') 

が含まれている任意の提案やヘルプは高く評価されています。

答えて

0

.soファイルをaarに変換する際に、実際にJNIインターフェイスを実装するJavaコードラッパーも作成する必要があります。その目的は、間違いなく、ラッパーJavaクラスを使用してネイティブコードに簡単にアクセスできるようにすることです。 解凍ツールを使用してaarファイルを抽出し、classes.jarファイルがあるかどうかを確認するだけです。 「はい」の場合は、.classファイルを逆コンパイルしてJavaコード(コードが難読化されていない場合)を表示するか、作成者と話してJavaクラスの使い方を知ることができます。

+0

だから、JNIはライブラリにアクセスするには十分ではありませんか? – Nikhil

+0

はい.soファイルのyou/authorは、JavaでJNIレイヤーを書き、ネイティブコードを呼び出し、逆もまた同様です。 JNIは、基本的に、ネイティブコードとのインターフェイスのためのグルー層です。 – Srikanth

+0

@Nikhilご質問が解決された場合は、その答えを受け入れてください。 – Srikanth

関連する問題