草庐IT

Android 致命异常 : java. lang.NoClassDefFoundError:解析失败:Lorg/apache/http/RequestLine;

coder 2023-12-22 原文

在 OnePlus5 上的 Android 9 上,当我尝试使用 ion 库进行远程连接时,我收到此错误:

Fatal Exception: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/RequestLine;
   at com.koushikdutta.ion.Ion$Config$1.createAsyncHttpRequest + 559(Ion.java:559)
   at com.koushikdutta.ion.IonRequestBuilder.prepareRequest + 282(IonRequestBuilder.java:282)
   at com.koushikdutta.ion.IonRequestBuilder.execute + 616(IonRequestBuilder.java:616)
   at com.koushikdutta.ion.IonRequestBuilder.execute + 606(IonRequestBuilder.java:606)
   at com.koushikdutta.ion.IonRequestBuilder.as + 891(IonRequestBuilder.java:891)
   at io.dishup.dishup.Network.request + 79(Network.java:79)
   at io.dishup.dishup.EndpointCustomer.setNewCustomer + 29(EndpointCustomer.java:29)
   at io.dishup.dishup.GoogleSignInToDishup.sendTokensToServer + 129(GoogleSignInToDishup.java:129)
   at io.dishup.dishup.GoogleSignInToDishup.access$400 + 29(GoogleSignInToDishup.java:29)
   at io.dishup.dishup.GoogleSignInToDishup$5.onComplete + 114(GoogleSignInToDishup.java:114)
   at com.google.android.gms.tasks.zzj.run + 4(:4)
   at android.os.Handler.handleCallback + 873(Handler.java:873)
   at android.os.Handler.dispatchMessage + 99(Handler.java:99)
   at android.os.Looper.loop + 193(Looper.java:193)
   at android.app.ActivityThread.main + 6898(ActivityThread.java:6898)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 537(RuntimeInit.java:537)
   at com.android.internal.os.ZygoteInit.main + 858(ZygoteInit.java:858)
Caused by java.lang.ClassNotFoundException: Didn't find class "org.apache.http.RequestLine" on path: DexPathList[[zip file "/data/app/io.dishup.dishup-OqmfH61IongnKfllcQH-mQ==/base.apk"],nativeLibraryDirectories=[/data/app/io.dishup.dishup-OqmfH61IongnKfllcQH-mQ==/lib/arm64, /system/lib64]]
   at dalvik.system.BaseDexClassLoader.findClass + 169(BaseDexClassLoader.java:169)
   at java.lang.ClassLoader.loadClass + 379(ClassLoader.java:379)
   at java.lang.ClassLoader.loadClass + 312(ClassLoader.java:312)
   at com.koushikdutta.ion.Ion$Config$1.createAsyncHttpRequest + 559(Ion.java:559)
   at com.koushikdutta.ion.IonRequestBuilder.prepareRequest + 282(IonRequestBuilder.java:282)
   at com.koushikdutta.ion.IonRequestBuilder.execute + 616(IonRequestBuilder.java:616)
   at com.koushikdutta.ion.IonRequestBuilder.execute + 606(IonRequestBuilder.java:606)
   at com.koushikdutta.ion.IonRequestBuilder.as + 891(IonRequestBuilder.java:891)
   at io.dishup.dishup.Network.request + 79(Network.java:79)
   at io.dishup.dishup.EndpointCustomer.setNewCustomer + 29(EndpointCustomer.java:29)
   at io.dishup.dishup.GoogleSignInToDishup.sendTokensToServer + 129(GoogleSignInToDishup.java:129)
   at io.dishup.dishup.GoogleSignInToDishup.access$400 + 29(GoogleSignInToDishup.java:29)
   at io.dishup.dishup.GoogleSignInToDishup$5.onComplete + 114(GoogleSignInToDishup.java:114)
   at com.google.android.gms.tasks.zzj.run + 4(:4)
   at android.os.Handler.handleCallback + 873(Handler.java:873)
   at android.os.Handler.dispatchMessage + 99(Handler.java:99)
   at android.os.Looper.loop + 193(Looper.java:193)
   at android.app.ActivityThread.main + 6898(ActivityThread.java:6898)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 537(RuntimeInit.java:537)
   at com.android.internal.os.ZygoteInit.main + 858(ZygoteInit.java:858)

我真的不明白哪里出了问题。

最佳答案

尝试将此行添加到您的 build.gradle 中:

android {

 useLibrary 'org.apache.http.legacy' //(this worked for us when we had a similar issue with apache)

或者,在您的 list 中试试这个:

<uses-library android:name="org.apache.http.legacy" android:required="false" />

这是因为,从 Android 9 开始,该库已从引导类路径中删除,并且默认情况下对应用程序不可用,因此必须添加它。

参见:https://developer.android.com/about/versions/pie/android-9.0-changes-28#apache-p

关于Android 致命异常 : java. lang.NoClassDefFoundError:解析失败:Lorg/apache/http/RequestLine;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57333767/

有关Android 致命异常 : java. lang.NoClassDefFoundError:解析失败:Lorg/apache/http/RequestLine;的更多相关文章

  1. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  2. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  3. ruby-on-rails - Rails - 乐观锁定总是触发 StaleObjectError 异常 - 2

    我正在学习Rails,并阅读了关于乐观锁的内容。我已将类型为integer的lock_version列添加到我的articles表中。但现在每当我第一次尝试更新记录时,我都会收到StaleObjectError异常。这是我的迁移:classAddLockVersionToArticle当我尝试通过Rails控制台更新文章时:article=Article.first=>#我这样做:article.title="newtitle"article.save我明白了:(0.3ms)begintransaction(0.3ms)UPDATE"articles"SET"title"='dwdwd

  4. ruby - #之间? Cooper 的 *Beginning Ruby* 中的错误或异常 - 2

    在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee

  5. ruby - 在 Ruby 中重新分配常量时抛出异常? - 2

    我早就知道Ruby中的“常量”(即大写的变量名)不是真正常量。与其他编程语言一样,对对象的引用是唯一存储在变量/常量中的东西。(侧边栏:Ruby确实具有“卡住”引用对象不被修改的功能,据我所知,许多其他语言都没有提供这种功能。)所以这是我的问题:当您将一个值重新分配给常量时,您会收到如下警告:>>FOO='bar'=>"bar">>FOO='baz'(irb):2:warning:alreadyinitializedconstantFOO=>"baz"有没有办法强制Ruby抛出异常而不是打印警告?很难弄清楚为什么有时会发生重新分配。 最佳答案

  6. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  7. ruby - Net::HTTP 获取源代码和状态 - 2

    我目前正在使用以下方法获取页面的源代码:Net::HTTP.get(URI.parse(page.url))我还想获取HTTP状态,而无需发出第二个请求。有没有办法用另一种方法做到这一点?我一直在查看文档,但似乎找不到我要找的东西。 最佳答案 在我看来,除非您需要一些真正的低级访问或控制,否则最好使用Ruby的内置Open::URI模块:require'open-uri'io=open('http://www.example.org/')#=>#body=io.read[0,50]#=>"["200","OK"]io.base_ur

  8. java - 我的模型类或其他类中应该有逻辑吗 - 2

    我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我

  9. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  10. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

随机推荐