0

Android Studio で開発した小さな Android アプリで問題が発生しています。私がやりたいのは、ボタン クリック ルーチンで org.json.XML を使用して xml 文字列から JSON を取得することだけです。しかし残念ながら、アプリはエラーなしでデバッグ モードでクラッシュします。アプリを正常に実行すると、次のエラー メッセージが生成されます。

              --------- beginning of crash

os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) で ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 原因: java.lang.NoSuchMethodError: No static method stringToValue(Ljava/lang/String) ;)Ljava/言語/オブジェクト; クラス Lorg/json/JSONObject 内。またはそのスーパークラス (「org.json.JSONObject」の宣言は /system/framework/core-libart.jar に表示されます) org.json.XML.parse(XML.java:257) at org.json.XML.parse (XML.java:263) org.json.XML.toJSONObject(XML.java: com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) での invoke(ネイティブ メソッド) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) での呼び出し: 中断すべてのスレッドにかかった時間: 8.734ms I/プロセス: シグナルを送信しています。PID: 3068 SIG: 9 アプリケーションが終了しました。

onButtonClick コード:

 public void onButtonClick(View view)
{
    String XML_TESTSTRING = "<item><value>test</value></item>";

    JSONObject jsonObject = null;

    try
    {
        jsonObject = XML.toJSONObject(XML_TESTSTRING);//here crash
    }
    catch (JSONException e)
    {
        e.printStackTrace();
    }
}

プロジェクトに含まれている json ライブラリは次のとおりです。https://mvnrepository.com/artifact/org.json/json/1.5-20090211

アプリで libs ディレクトリを作成し、jar をそこにコピーして、[ライブラリとして追加] を右クリックしました。build.gradle の依存関係の部分は次のようになります。

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.google.android.gms:play-services-appindexing:8.1.0'
compile files('libs/json-1.5-20090211.jar')

}

私の最善の推測では、問題は、org.json を含む Android API と、ダウンロードして含めたものに関するものですが、続行する方法についての手がかりがありません。助言がありますか?

4

1 に答える 1