我想使用jsoup所以我下载了jsoup-1.9.2.jar文件并将其移到Android Studio的libs文件夹中。当我尝试构建项目时,我收到以下错误:
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在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
我在Google周围尝试了几项建议。我在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 Studio成功构建了项目,但每当我尝试使用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();
}
}