[英]How to build Cling Android example with Eclipse
我在這里查看了源代碼https://github.com/4thline/cling/tree/master/demo/android (實際上,我使用了Cling 2.0.1發行版附帶的源代碼,是相同的)
但是幾周后嘗試用我的Eclipse構建它,但沒有成功
我在這里http://datababel.wordpress.com/2013/07/29/upnp-client-in-android-with-cling-getting-started/找到了一篇有關此的文章,但說明仍然不夠清楚。
我想將Maven 與 Eclipse一起使用以簡化工作,但是在那篇文章中,似乎他們沒有使用Maven,而是直接使用了jar罐。
有人可以逐步介紹如何使用Eclipse使用Maven(源代碼隨附的pom.xml文件)構建Android源代碼嗎? 我的意思是:
1. Create android project
2. Convert to maven
3. Add something to pom.xml and everything works
4. etc.....something like that
我試圖在cling論壇的郵件列表中詢問,但該論壇非常不活躍,論壇的所有者Chris Bauer不願意回答與此相關的問題。
非常感謝你。 任何幫助表示贊賞。
編輯1:
我嘗試了解決方案:打開.jar文件,並在每個.jar中刪除about.html,然后再次壓縮它們。 根據本文http://www.gubatron.com/blog/2013/03/12/jar-dependencies-if-you-plan-to-use-the-cling- ,我在項目中添加了8個jetty .jar文件UPnP的圖書館在你的Android的項目/
jetty-security-8.1.8.v20121106.jar
jetty-http-8.1.8.v20121106.jar
jetty-continuation-8.1.8.v20121106.jar
jetty-io-8.1.8.v20121106.jar
jetty-util-8.1.8.v20121106.jar
jetty-server-8.1.8.v20121106.jar
jetty-servlet-8.1.8.v20121106.jar
jetty-client-8.1.8.v20121106.jar
這是我在Eclipse中運行時的錯誤日志
[2014-12-07 12:07:20 - GR2] Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: class name (org/eclipse/jetty/http/AbstractGenerator) does not match path (org.eclipse.jetty.http_8.1.8.v20121106/org/eclipse/jetty/http/AbstractGenerator.class)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.processClass(Main.java:665)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
at com.android.dx.command.dexer.Main.access$600(Main.java:78)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:596)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:188)
at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:786)
at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:597)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:328)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:403)
at org.eclipse.core.internal.resources.Project$1.run(Project.java:618)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597)
at org.eclipse.core.internal.resources.Project.build(Project.java:124)
at com.android.ide.eclipse.adt.internal.project.ProjectHelper.doFullIncrementalDebugBuild(ProjectHelper.java:1143)
at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:155)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
...while parsing org.eclipse.jetty.http_8.1.8.v20121106/org/eclipse/jetty/http/AbstractGenerator.class
[2014-12-07 12:07:20 - GR2] Dx 1 error; aborting
[2014-12-07 12:07:20 - GR2] Conversion to Dalvik format failed with error 1
在構建項目時,我也遇到了類似的問題。 您需要從將其內容提取到的目錄(而不是其父目錄)中創建jar。 基本上,本文的第7步-https: //datababel.wordpress.com/2013/07/29/upnp-client-in-android-with-cling-getting-started/需要從與“ jetty”相同的目錄中執行-server \\ 8.1.8.android”目錄用於步驟4-6。
您可以將“ servlet-api-3.0.jar ”和“ slf4j-jdk14-1.7.5.jar ”添加到庫中,然后重試。 我的應用程序基於Android Studio 1.0.1構建,運行良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.