Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java bittorrent客户端:t当前不';行不通_Java_Android_Bittorrent - Fatal编程技术网

Java bittorrent客户端:t当前不';行不通

Java bittorrent客户端:t当前不';行不通,java,android,bittorrent,Java,Android,Bittorrent,我想使用(“/sdcard/file.torrent”)上保存的.torrent文件开始简单下载。 我试过了当前版本,因为它是最简单的bittorrent客户端。 所以我试过这个代码,但有错误 String filePath = "/sdcard/file.torrent"; String downPath = "/sdcard/A"; Client client = new Client ( InetAddress.getLocalHost(),

我想使用(“/sdcard/file.torrent”)上保存的.torrent文件开始简单下载。
我试过了当前版本,因为它是最简单的bittorrent客户端。
所以我试过这个代码,但有错误

String filePath = "/sdcard/file.torrent";
String downPath = "/sdcard/A";                  

Client client = new Client (
    InetAddress.getLocalHost(),
    SharedTorrent.fromFile(
    new File(filePath),
    new File(downPath)
    )
);

client.setMaxDownloadRate(0.0);
client.setMaxUploadRate(0.0);           
client.download();
client.share(0);         
client.waitForCompletion();
日志:

E/AndroidRuntime(5992):致命异常:main
E/AndroidRuntime(5992):java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Hex.encodeHex
E/AndroidRuntime(5992):位于com.turn.ttorrent.common.Torrent.bytearraythextstring(Torrent.java:415)
E/AndroidRuntime(5992):位于com.turn.ttorrent.common.Torrent。(Torrent.java:145)
E/AndroidRuntime(5992):位于com.turn.ttorrent.client.SharedTorrent。(SharedTorrent.java:175)
E/AndroidRuntime(5992):位于com.turn.ttorrent.client.SharedTorrent。(SharedTorrent.java:159)
E/AndroidRuntime(5992):位于com.turn.ttorrent.client.SharedTorrent.fromFile(SharedTorrent.java:239)
E/AndroidRuntime(5992):位于com.torrentsearch.activities.ResultList.onContextItemSelected(ResultList.java:435)
E/AndroidRuntime(5992):位于android.app.Activity.onMenuItemSelected(Activity.java:2647)
E/AndroidRuntime(5992):位于com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:3921)
E/AndroidRuntime(5992):位于com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/AndroidRuntime(5992):位于com.android.internal.view.menu.menuitemmpl.invoke(menuitemmpl.java:149)
E/AndroidRuntime(5992):位于com.android.internal.view.menu.MenuBuilder.performitemation(MenuBuilder.java:874)
E/AndroidRuntime(5992):位于com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:193)
E/AndroidRuntime(5992):位于com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:934)
E/AndroidRuntime(5992):位于android.widget.AdapterView.performItemClick(AdapterView.java:301)
E/AndroidRuntime(5992):位于android.widget.AbsListView.performItemClick(AbsListView.java:1280)
E/AndroidRuntime(5992):位于android.widget.AbsListView$PerformClick.run(AbsListView.java:3071)
E/AndroidRuntime(5992):位于android.widget.AbsListView$1.run(AbsListView.java:3973)
E/AndroidRuntime(5992):位于android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(5992):位于android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(5992):位于android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(5992):位于android.app.ActivityThread.main(ActivityThread.java:4921)
E/AndroidRuntime(5992):位于java.lang.reflect.Method.Invokenactive(本机方法)
E/AndroidRuntime(5992):位于java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(5992):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
E/AndroidRuntime(5992):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
E/AndroidRuntime(5992):位于dalvik.system.NativeStart.main(本机方法)

问题出在apache commons库中。我使用了1.8(最新版本),但对于这个版本,需要使用当前的客户端

client.setMaxDownloadRate(0.0)


0.0对下载速度没有限制。但下载速度太慢了,安卓uTorrent还有更多功能。

问题出在apache commons库中。我使用了1.8(最新版本),但对于这个版本,需要使用当前的客户端

client.setMaxDownloadRate(0.0)


0.0对下载速度没有限制。但是下载速度太慢了,Android uTorrent还有更多功能。

Apache Commons库不是Android SDK的一部分。你需要将它与你的应用程序捆绑在一起,或者至少与当前所需的类捆绑在一起。我有所有的lib和类,所有内容都已正确导入。我从中学到的课程你可以看到:嗯。。。您能检查链接库是否包含“encodeHex”方法吗?另一个可能的原因可能是ApacheCommonsJAR不是用Java1.6编译器编译的。不幸的是,这是Android工具链工作的一个要求。另一种可能的解释可能是通过ProGuard进行代码混淆。您需要保护这些apachecommons方法名不被changedOk使用,问题在于apachecommons库中。我使用的是1.8(最新版本),但对于这个t当前的客户端,需要1.2。Apache Commons库不是Android SDK的一部分。你需要将它与你的应用程序捆绑在一起,或者至少与当前所需的类捆绑在一起。我有所有的lib和类,所有内容都已正确导入。我从中学到的课程你可以看到:嗯。。。您能检查链接库是否包含“encodeHex”方法吗?另一个可能的原因可能是ApacheCommonsJAR不是用Java1.6编译器编译的。不幸的是,这是Android工具链工作的一个要求。另一种可能的解释可能是通过ProGuard进行代码混淆。您需要保护这些apachecommons方法名不被changedOk使用,问题在于apachecommons库中。我使用了1.8(最新版本),但对于当前的客户端,需要1.2。
E/AndroidRuntime(5992): FATAL EXCEPTION: main
E/AndroidRuntime(5992): java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Hex.encodeHex
E/AndroidRuntime(5992):     at com.turn.ttorrent.common.Torrent.byteArrayToHexString(Torrent.java:415)
E/AndroidRuntime(5992):     at com.turn.ttorrent.common.Torrent.<init>(Torrent.java:145)
E/AndroidRuntime(5992):     at com.turn.ttorrent.client.SharedTorrent.<init>(SharedTorrent.java:175)
E/AndroidRuntime(5992):     at com.turn.ttorrent.client.SharedTorrent.<init>(SharedTorrent.java:159)
E/AndroidRuntime(5992):     at com.turn.ttorrent.client.SharedTorrent.fromFile(SharedTorrent.java:239)
E/AndroidRuntime(5992):     at com.torrentsearch.activities.ResultList.onContextItemSelected(ResultList.java:435)
E/AndroidRuntime(5992):     at android.app.Activity.onMenuItemSelected(Activity.java:2647)
E/AndroidRuntime(5992):     at com.android.internal.policy.impl.PhoneWindow$DialogMenuCallback.onMenuItemSelected(PhoneWindow.java:3921)
E/AndroidRuntime(5992):     at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
E/AndroidRuntime(5992):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
E/AndroidRuntime(5992):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
E/AndroidRuntime(5992):     at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:193)
E/AndroidRuntime(5992):     at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:934)
E/AndroidRuntime(5992):     at android.widget.AdapterView.performItemClick(AdapterView.java:301)
E/AndroidRuntime(5992):     at android.widget.AbsListView.performItemClick(AbsListView.java:1280)
E/AndroidRuntime(5992):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:3071)
E/AndroidRuntime(5992):     at android.widget.AbsListView$1.run(AbsListView.java:3973)
E/AndroidRuntime(5992):     at android.os.Handler.handleCallback(Handler.java:615)
E/AndroidRuntime(5992):     at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(5992):     at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(5992):     at android.app.ActivityThread.main(ActivityThread.java:4921)
E/AndroidRuntime(5992):     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(5992):     at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(5992):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
E/AndroidRuntime(5992):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
E/AndroidRuntime(5992):     at dalvik.system.NativeStart.main(Native Method)