Android プロジェクトで Json4s を使用しようとしています。プロジェクトはコンパイルされますが、次のエラーが表示されます。
W/dalvikvm(24527): VFY: 署名で参照されているクラスが見つかりません (Lcom/thoughtworks/paranamer/CachingParanamer;) I/dalvikvm(24527): メソッドから参照されているメソッド com.thoughtworks.paranamer.CachingParanamer.lookupParameterNames が見つかりませんでしたorg.json4s.Meta$ParanamerReader$.lookupParameterNames W/dalvikvm(24527): VFY: 仮想メソッドを解決できません 11: Lcom/thoughtworks/paranamer/CachingParanamer;.lookupParameterNames (Ljava/lang/reflect/AccessibleObject;)[Ljava/lang /弦; D/dalvikvm(24527): VFY: オペコード 0x6e を 0x0008 に置き換えます W/dalvikvm(24527): VFY: Lorg/json4s/Meta$ で新しいインスタンス 15 (Lcom/thoughtworks/paranamer/CachingParanamer;) を解決できません。D/dalvikvm(24527): VFY: オペコード 0x22 を 0x0013 に置き換える W/dalvikvm(24527): VFY: 署名で参照されているクラスが見つかりません (Lcom/thoughtworks/paranamer/CachingParanamer;) D/dalvikvm(24527): DexOpt: Lorg の 0x17 で直接呼び出し 0x0009 を選択できません/json4s/Meta$;. D/dalvikvm(24527): DexOpt: Lorg/json4s/Meta$ の 0x1a で直接呼び出し 0x000a を選択できません。W/dalvikvm(24527): 例外 Ljava/lang/NoClassDefFoundError; Lorg/json4s/Meta$ の初期化中にスローされます。W/System.err(24527): java.lang.ExceptionInInitializerError W/System.err(24527): at org.json4s.Extraction$.mkMapping$1(Extraction.scala:207) W/System.err(24527): at org.json4s.Extraction$.org$json4s$Extraction$$extract0(Extraction.scala:214) W/System.err(24527): org.json4s.Extraction$.extract(Extraction.scala:47) で.err(24527): org.json4s.ExtractableJsonAstNode で。paranamer.CachingParanamer W/System.err(24527): at org.json4s.Meta$.(Meta.scala:93) W/System.err(24527): at org.json4s.Meta$.(Meta.scala) W /System.err(24527): ... 22 以上 I/dalvikvm(24527): 以前に失敗したクラス Lorg/json4s/Meta$ の再初期化を拒否しています。v=0x0 D/AndroidRuntime(24527): VM をシャットダウンしています W/dalvikvm(24527): threadid=1: キャッチされない例外で終了するスレッド (group=0x40dc0438) E/AndroidRuntime(24527): 致命的な例外: main E/AndroidRuntime(24527) ): java.lang.NoClassDefFoundError: org/json4s/Meta$ E/AndroidRuntime(24527): at org.json4s.Extraction$.mkMapping$1(Extraction.scala:207) E/AndroidRuntime(24527): at org.json4s. Extraction$.org$json4s$Extraction$$extract0(Extraction.scala:214) E/AndroidRuntime(24527): at org.json4s.Extraction$.extract(Extraction.scala:47) E/AndroidRuntime(24527): at org .
特に dalvikvm に問題があるのか、プロガードの問題なのかはわかりません。関連する場合、Json4s.Meta のソースは次のようになります。
package org.json4s
import java.lang.reflect.{Constructor => JConstructor, Field, Type, ParameterizedType, GenericArrayType}
import java.util.Date
import java.sql.Timestamp
import com.thoughtworks.paranamer.{ParameterNamesNotFoundException, BytecodeReadingParanamer, CachingParanamer}
import scalashim._
case class TypeInfo(clazz: Class[_], parameterizedType: Option[ParameterizedType])
trait ParameterNameReader {
def lookupParameterNames(constructor: JConstructor[_]): Traversable[String]
}
private[json4s] object Meta {
import com.thoughtworks.paranamer._
その後に一連のケースクラスなどが続きます。
この問題を解決する方法についてのアイデアはありますか?