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();