2016-08-08 5 views
0

私はAndroid Studioで、推定値とfirebase sdkなどの複数のGradle依存関係を持つライブラリを構築しています。私はAARとしてライブラリをエクスポートし、サンプルプロジェクトにインポートするとき、私は、実行時エラーを取得:ライブラリモジュールの依存関係

E/UncaughtException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/estimote/sdk/BeaconManager; 
                        at com.mgenio.sdk.BeaconSDK.init(BeaconSDK.java:87) 
                        at com.mgenio.sdk.BeaconSDK.checkSDK(BeaconSDK.java:214) 
                        at com.mgenio.sdk.BeaconSDK.access$800(BeaconSDK.java:33) 
                        at com.mgenio.sdk.BeaconSDK$3.onResponse(BeaconSDK.java:186) 
                        at com.mgenio.sdk.BeaconSDK$3.onResponse(BeaconSDK.java:182) 
                        at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:60) 
                        at com.android.volley.toolbox.StringRequest.deliverResponse(StringRequest.java:30) 
                        at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99) 
                        at android.os.Handler.handleCallback(Handler.java:739) 
                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                        at android.os.Looper.loop(Looper.java:158) 
                        at android.app.ActivityThread.main(ActivityThread.java:7229) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
                       Caused by: java.lang.ClassNotFoundException: Didn't find class "com.estimote.sdk.BeaconManager" on path: DexPathList[[zip file "/data/app/com.mgenio.smartscansample-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mgenio.smartscansample-1/lib/arm64, /vendor/lib64, /system/lib64]] 
                        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 

それはこれらの外部依存関係を含んでいるので、私のAARライブラリをエクスポートするための特別な方法はありますか?ありがとう!

+0

1つまたは複数のプロジェクトでライブラリを使用しますか? – larsgrefer

答えて

0

Is there a special way to export my aar library so it includes these external dependencies?


あなたはMavenのかアイビーリポジトリにあなたのAARを展開Exept。

+0

どのようにしてあなたの港をどこに置くのですか? – njzk2

0

サンプルプロジェクトに同じ依存関係を追加して、Gradleに処理させます。

1

ライブラリをリポジトリに公開する場合は、数か月前に同様の問題が発生していましたが、ライブラリにある依存関係を含むXMLまたは別の種類のファイルを追加する必要があります。

そして、あなたはヨーヨーがこの

compile('mx.segundamano.doubleseekbarview'){ 
    transitive=true 
} 
のようなこのクラスまたはリソースへのアクセス権を持っているアプリモジュールでGradleのファイルで、あなたのライブラリーをコンパイルするとき、あなたは transitive=trueを追加する必要があり、それらの依存関係のいずれかのクラスを使用する必要がある場合

EDIT

あなたはBintrayに公開している場合 - Mavenのリポジトリ、あなたのbintray設定が

で同じレベルであなたのGradleファイルにこの行を追加します。
task generateSourcesJar(type: Jar) { 
    from android.sourceSets.main.java.srcDirs 
    classifier 'sources' 
} 

artifacts { 
    archives generateSourcesJar 
} 
+0

ありがとう、正しいXMLファイルの例がありますか? –

+0

更新された回答を確認する;) –