应用未运行,不确定错误是什么

时间:2018-10-09 15:19:55

标签: java android

我是Udacity的Android课程的学生,目前正在研究News Feed应用。这是我在应用程序中收到的错误。不确定将代码的哪一部分与之一起发布,因为我现在还不清楚发生了什么。单击任何错误会将我带到技术上不属于我的项目的文件的一部分,因此我不想意外破坏任何文件。任何帮助表示感谢,谢谢!

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
    Process: com.example.alexaquinones.newsfeed, PID: 8977
    java.lang.RuntimeException: An error occurred while executing doInBackground()
        at android.os.AsyncTask$3.done(AsyncTask.java:354)
        at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
        at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
        at java.util.concurrent.FutureTask.run(FutureTask.java:271)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)
        at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:151)
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:105)
        at java.net.InetAddress.getAllByName(InetAddress.java:1154)
        at com.android.okhttp.Dns$1.lookup(Dns.java:39)
        at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175)
        at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141)
        at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83)
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174)
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127)
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89)
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:26)
        at com.example.alexaquinones.newsfeed.QueryUtils.makeHttpRequest(QueryUtils.java:89)
        at com.example.alexaquinones.newsfeed.QueryUtils.fetchNewsData(QueryUtils.java:47)
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:43)
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:12)
        at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:319)
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:73)
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:61)
        at android.os.AsyncTask$2.call(AsyncTask.java:333)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
     Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
        at libcore.io.Linux.android_getaddrinfo(Native Method)
        at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:172)
        at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:137)
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:105) 
        at java.net.InetAddress.getAllByName(InetAddress.java:1154) 
        at com.android.okhttp.Dns$1.lookup(Dns.java:39) 
        at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175) 
        at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141) 
        at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83) 
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174) 
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) 
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) 
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89) 
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:26) 
        at com.example.alexaquinones.newsfeed.QueryUtils.makeHttpRequest(QueryUtils.java:89) 
        at com.example.alexaquinones.newsfeed.QueryUtils.fetchNewsData(QueryUtils.java:47) 
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:43) 
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:12) 
        at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:319) 
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:73) 
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:61) 
        at android.os.AsyncTask$2.call(AsyncTask.java:333) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 
     Caused by: android.system.ErrnoException: android_getaddrinfo failed: EACCES (Permission denied)
        at libcore.io.Linux.android_getaddrinfo(Native Method) 
        at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:172) 
        at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:137) 
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:105) 
        at java.net.InetAddress.getAllByName(InetAddress.java:1154) 
        at com.android.okhttp.Dns$1.lookup(Dns.java:39) 
        at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175) 
        at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141) 
        at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83) 
        at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174) 
        at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) 
        at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) 
        at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) 
        at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) 
        at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:127) 
        at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:89) 
        at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:26) 
        at com.example.alexaquinones.newsfeed.QueryUtils.makeHttpRequest(QueryUtils.java:89) 
        at com.example.alexaquinones.newsfeed.QueryUtils.fetchNewsData(QueryUtils.java:47) 
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:43) 
        at com.example.alexaquinones.newsfeed.NewsLoader.loadInBackground(NewsLoader.java:12) 
        at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:319) 
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:73) 
        at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:61) 
        at android.os.AsyncTask$2.call(AsyncTask.java:333) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:764) 

2 个答案:

答案 0 :(得分:0)

堆栈说:

  

原因:java.lang.SecurityException:权限被拒绝(丢失)   INTERNET权限?

您是否有权在您的应用中访问互联网?

在清单中放入:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

https://developer.android.com/training/basics/network-ops/connecting

答案 1 :(得分:0)

在清单标签的AndroidManifest.xml中添加以下行

 <uses-permission android:name="android.permission.INTERNET"/>