私はAndroidアプリケーションで新しく、おそらく何か間違っています。 javampd modueでアプリケーションをコンパイルしようとしましたが、例外: "com.google.inject.internal.util。$ ComputationException:com.google.inject.internal.util。$ ComputationException:java.lang.ExceptionInInitializerError"がスローされました。 biulder作成時:AndroidアプリケーションがGuice例外をスローする
try {
MPD.Builder mpdBuilder = new MPD.Builder();
} catch (Exception error) {
String text = error.getMessage();
Toast.makeText(this, "Exception: " + text, Toast.LENGTH_LONG).show();
}
私はGuiceのまでの例外をトレースして、その例外がここ
injector = Guice.createInjector(new MPDModule());
javampdモジュール内投げている考え出したフルスタックトレースは次のとおりです。
W/nalizableReferenceQueue: Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path.
java.io.FileNotFoundException: com/google/inject/internal/util/$Finalizer.class
at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.getBaseUrl(FinalizableReferenceQueue.java:269)
at com.google.inject.internal.util.$FinalizableReferenceQueue$DecoupledLoader.loadFinalizer(FinalizableReferenceQueue.java:253)
at com.google.inject.internal.util.$FinalizableReferenceQueue.loadFinalizer(FinalizableReferenceQueue.java:175)
at com.google.inject.internal.util.$FinalizableReferenceQueue.<clinit>(FinalizableReferenceQueue.java:100)
at com.google.inject.internal.util.$MapMaker$QueueHolder.<clinit>(MapMaker.java:787)
at com.google.inject.internal.util.$MapMaker$WeakEntry.<init>(MapMaker.java:946)
at com.google.inject.internal.util.$MapMaker$Strength$1.newEntry(MapMaker.java:312)
at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:498)
at com.google.inject.internal.util.$MapMaker$StrategyImpl.newEntry(MapMaker.java:419)
at com.google.inject.internal.util.$CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2029)
at com.google.inject.internal.Annotations$AnnotationChecker.hasAnnotations(Annotations.java:116)
at com.google.inject.internal.Annotations.isScopeAnnotation(Annotations.java:124)
at com.google.inject.internal.ScopeBindingProcessor.visit(ScopeBindingProcessor.java:40)
at com.google.inject.internal.ScopeBindingProcessor.visit(ScopeBindingProcessor.java:30)
at com.google.inject.spi.ScopeBinding.acceptVisitor(ScopeBinding.java:59)
at com.google.inject.internal.AbstractProcessor.process(AbstractProcessor.java:55)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:165)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103)
at com.google.inject.Guice.createInjector(Guice.java:95)
at com.google.inject.Guice.createInjector(Guice.java:72)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.bff.javampd.MPD$Builder.<init>(MPD.java:186)
at com.yarygin.alex.mpd_test.MainActivity.onCreate(MainActivity.java:16)
at android.app.Activity.performCreate(Activity.java:5971)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2522)
at android.app.ActivityThread.access$800(ActivityThread.java:167)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1417)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5534)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:955)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:750)
私のGradleファイル:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.yarygin.alex.mpd_test"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:22.2.1'
testCompile 'junit:junit:4.12'
compile 'net.thejavashop:javampd:5.0.3'
}
そして、私の活動のファイル:
package com.yarygin.alex.mpd_test;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import org.bff.javampd.MPD;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
MPD.Builder mpdBuilder = new MPD.Builder();
} catch (Exception error) {
String text = error.getMessage();
Toast.makeText(this, "Exception: " + text, Toast.LENGTH_LONG).show();
}
}
}
私は2週間以内に理由を見つけることができません。助けてください!
ありがとうございます。 –
私はライブラリをそのまま使用することはできません。 あなたは私の場合に縛らなければならないものを何か指摘できますか?私はちょうどそれが働くように始める方法を理解したい。 –
いいえ、私はthejavashopについて話しています:javampd。私はこの作品を作ることができる方法はありますか? –