2016-08-14 14 views
0

jsoupを使用してjsoup-1.9.2.jarファイルをダウンロードし、Android Studioのlibsフォルダに移動しました。私はいくつかのことはすべてGoogleの周りを提案しようとしたJsoupを使用してビルドエラーと致命的な例外が発生する

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. 

com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/maven/org.jsoup/jsoup/pom.xml File1: /Users/David/AndroidStudioProjects/Vertretungsplan2/app/libs/jsoup-1.9.2.jar File2: /Users/David/.gradle/caches/modules-2/files-2.1/org.jsoup/jsoup/1.9.2/5e3bda828a80c7a21dfbe2308d1755759c2fd7b4/jsoup-1.9.2.jar

:私は、私は次のエラーを取得するプロジェクトをビルドしようとしたとき。私はbuild.gradleにこれらのファイルを除外:

exclude 'org/jsoup/nodes/entities-full.xml' 
exclude 'org/jsoup/nodes/entities-full.properties' 
exclude 'META-INF/maven/org.jsoup/jsoup/pom.xml' 
exclude 'META-INF/maven/org.jsoup/jsoup/pom.properties' 
exclude 'org/jsoup/nodes/entities-base.properties' 
exclude 'org/jsoup/nodes/entities-base.xml' 

これはAndroidのメーカーが正常にプロジェクトをビルドしてみましょうが、私はjsoup使用しようとするたびに、私は次のエラーを取得する:

08-14 18:52:53.852 8200-8906/de.gymnasium_beetzendorf.vertretungsplan E/AndroidRuntime: FATAL EXCEPTION: IntentService[RefreshService] 
                        Process: de.gymnasium_beetzendorf.vertretungsplan, PID: 8200 
                        java.lang.ExceptionInInitializerError 
                         at org.jsoup.nodes.Entities.access$000(Entities.java:17) 
                         at org.jsoup.nodes.Entities$EscapeMode.<clinit>(Entities.java:20) 
                         at org.jsoup.nodes.Document$OutputSettings.<init>(Document.java:371) 
                         at org.jsoup.nodes.Document.<init>(Document.java:18) 
                         at org.jsoup.parser.TreeBuilder.initialiseParse(TreeBuilder.java:29) 
                         at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:42) 
                         at org.jsoup.parser.HtmlTreeBuilder.parse(HtmlTreeBuilder.java:52) 
                         at org.jsoup.parser.Parser.parseInput(Parser.java:30) 
                         at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:136) 
                         at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:653) 
                         at org.jsoup.helper.HttpConnection.get(HttpConnection.java:217) 
                         at de.gymnasium_beetzendorf.vertretungsplan.RefreshService.doStuff(RefreshService.java:252) 
                         at de.gymnasium_beetzendorf.vertretungsplan.RefreshService.onHandleIntent(RefreshService.java:93) 
                         at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:148) 
                         at android.os.HandlerThread.run(HandlerThread.java:61) 
                        Caused by: java.lang.NullPointerException: in == null 
                         at java.util.Properties.load(Properties.java:246) 
                         at org.jsoup.nodes.Entities.loadEntities(Entities.java:241) 
                         at org.jsoup.nodes.Entities.<clinit>(Entities.java:225) 
                         at org.jsoup.nodes.Entities.access$000(Entities.java:17)  
                         at org.jsoup.nodes.Entities$EscapeMode.<clinit>(Entities.java:20)  
                         at org.jsoup.nodes.Document$OutputSettings.<init>(Document.java:371)  
                         at org.jsoup.nodes.Document.<init>(Document.java:18)  
                         at org.jsoup.parser.TreeBuilder.initialiseParse(TreeBuilder.java:29)  
                         at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:42)  
                         at org.jsoup.parser.HtmlTreeBuilder.parse(HtmlTreeBuilder.java:52)  
                         at org.jsoup.parser.Parser.parseInput(Parser.java:30)  
                         at org.jsoup.helper.DataUtil.parseByteData(DataUtil.java:136)  
                         at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:653)  
                         at org.jsoup.helper.HttpConnection.get(HttpConnection.java:217)  
                         at de.gymnasium_beetzendorf.vertretungsplan.RefreshService.doStuff(RefreshService.java:252)  
                         at de.gymnasium_beetzendorf.vertretungsplan.RefreshService.onHandleIntent(RefreshService.java:93)  
                         at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66)  
                         at android.os.Handler.dispatchMessage(Handler.java:102)  
                         at android.os.Looper.loop(Looper.java:148)  
                         at android.os.HandlerThread.run(HandlerThread.java:61)  

私は何見当がつかない私はこれを解決するために何か助けに感謝する必要があります。私のポストにあなたの情報が不足している場合は、私に知らせてください。ありがとう! jsoupを使用しています

Javaコード:

public void doStuff() { 
    String url = "http://gymnasium-beetzendorf.de/uorganisation/vplan.html"; 

    try { 
     Document document = Jsoup.connect(url).get(); 

     Elements div = document.select("div.content"); 
     Elements a = div.select("a"); 

     Log.i(MainActivity.TAG, "anzahl der links " + String.valueOf(a.size())); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
+0

JSoupコードを実際に表示すると便利です。エラーは '原因:java.lang.NullPointerException:in == null'と表示されますが、これはInputStreamと見なされますか? –

+0

そしておそらく最初のエラーを避けるためにJARファイルではなくMaven依存関係を使用している可能性があります。 –

+0

上記のコードを編集しました。私が読んだことから、npeは私のせいではなく、build.gradleに入れた除外文のためです。 – Crosswind

答えて

1

あなたのGradleのエラーは、おそらくあなたの依存関係でこれを持っているJARファイル間で競合している重複したファイル、およびコンパイルのGradleの依存関係が存在する旨されます。

compile 'org.jsoup:jsoup:1.9.2' 

したがって、あなたは、単にそのライブラリを使用することができ、JARファイルをダウンロード、または何かを除外する必要はありません。

関連する問題