6

Android でByte Buddyライブラリを使用しようとしていますが、エラーが発生します。

java.lang.IllegalStateException: この JVM のバージョン文字列は有効ではないようです: 0

まだ何もコーディングしていません。

ByteBuddy test = new ByteBuddy();

私のApp.Javaで

私はインポートしました:

<dependency>
    <groupId>net.bytebuddy</groupId>
    <artifactId>byte-buddy</artifactId>
    <version>0.7.7</version>
</dependency>

しかし、うまくいきませんでした。

<dependency>
    <groupId>net.bytebuddy</groupId>
    <artifactId>byte-buddy-android</artifactId>
    <version>0.7.7</version>
</dependency>

しかし、私はまだ同じエラーが発生します。

編集

ByteBuddy を初期化する前に、次の行を追加しました。

  System.setProperty("java.version", "1.7.0_51");

しかし今、私はこの別のエラーを受け取ります:

原因: java.lang.UnsupportedOperationException: このタイプのクラス ファイルを読み込めません。

このコードの場合:

Class<?> dynamicType = new ByteBuddy(ClassFileVersion.JAVA_V6)
            .subclass(Object.class)
            .method(ElementMatchers.named("toString"))
            .intercept(FixedValue.value("Hello World!"))
            .make()
            .load(getClass().getClassLoader(), AndroidClassLoadingStrategy.Default.WRAPPER)
            .getLoaded();
4

1 に答える 1