2016-09-20 4 views
1

私は過去2日間行き詰まっています。私は自分のサンプルアプリケーションの1つに自分のaarをインポートして使いたいと思っています。私はaar内のクラスにアクセスできず、java.lang.NoClassDefFoundErrorエラーが発生します。aarのクラスにアクセスできない

1)に行くことによって、AARのインポート:File -> New-> New Module -> Import .JAR/.AAR をし、その後のGradleにcompile project(':Name-Of-Your-Project')を追加するさて、これは共通の問題は、私はそれぞれ、すべての関連する質問を読んだ後、これまでに以下しようとしているされているので

2)mavenプラグインを使用して、gradle installを使用してローカルmavenリポジトリにaarをプッシュしてから、自分のgradleのローカルリポジトリにrefferingします。

compile ('com.rsa.mobile.sdk.android:authsdk:3.6.0-SNAPSHOT:[email protected]'){ 
     // transitive=true 
    } 

注:私は本当の推移=のコメントを解除した場合、アプリケーションをインストールしている間、私は以下の例外を取得:

UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 

3)回答の多くで提案されているようプロジェクトを再構築し、清掃。うまくdidntの

4)一つだけの事はレポに

flatDir { 
     dirs 'libs' 
     } 

を追加した後、ディレクトリ内のAARを入れた後、compile(name:'Name-Of-Your-Project', ext:'aar')のようにそれをrefferingによってでした。 私は、4番目のポイントは、上記のポイント1で述べた通り正しい方法であるとは思っていませんが、ちょうどそれを出したいと思っています。

助けてもらえますか?それは些細な問題のように見えますが、私はすでに2日ほど浪費しています。

+0

クラスは難読化されていますか? –

+0

いいえ、そうではありません。前回と同じサンプルをさまざまなサンプルアプリで使用しました。私がこの問題に直面しているのは初めてです。 – Sid

+0

例外として、あなたのメソッドカウントは64K以上です。したがって、 'multidex'を使うべきです。 [こちら](https://developer.android.com/studio/build/multidex.html)が詳細です。 –

答えて

0

例外を見ると、以下のコードで問題を解決できます。それをアプリケーションgradleに追加します。

android { 
    defaultConfig { 
     // Enabling multidex support. 
     multiDexEnabled true 
    } 
dexOptions { 
     // FOR GC overhead 
      incremental true 
      javaMaxHeapSize "4g" 
    } 
} 
+0

この後、java.lang.NoClassDefFoundError:com.android.volley.toolbox.Volleyの例外が発生します。これは前に来ていませんでした。私はすでに私のgradleで 'com.mcxiaoke.volley:library-aar:1.0.0'をコンパイルしています。 – Sid

+0

[こちら](http://stackoverflow.com/questions/17002636/android-studio-volley-noclassdeffound)をチェックしてください。お手伝いできます。 –

+0

すでにそれを試しましたが、そこには運がありません。 – Sid

関連する問題