应用程序在连接服务器时不断崩溃

时间:2020-09-26 10:09:05

标签: java android httpurlconnection

因此,我尝试从服务器下载apk文件,但我的应用始终崩溃。 我不知道为什么我尝试使用一个可运行的独立线程,现在使用一个ThreadHandler。

DownloadActivity.java:

HandlerThread handlerThread=new HandlerThread("test");
        handlerThread.setPriority(1);
        handlerThread.start();
        Looper looper=handlerThread.getLooper();
        Handler handler=new Handler(looper);
        handler.post(new Runnable() {
            @Override
            public void run() {
                try {
                    String url="theurl";
                    URL u = new URL(url);
                    URLConnection conn = u.openConnection();
                    conn.getContentType();
                    conn.addRequestProperty("version",version);
                    conn.connect();
                    int contentLength = conn.getContentLength();

                    DataInputStream stream = new DataInputStream(u.openStream());

                    byte[] buffer = new byte[contentLength];
                    stream.readFully(buffer);
                    stream.close();
                    File file=new File(Environment.DIRECTORY_DOWNLOADS,"debug.apk");
                    DataOutputStream fos = new DataOutputStream(new FileOutputStream(file));
                    fos.write(buffer);
                    fos.flush();
                    fos.close();
                } catch(IOException e) {
                    //  404
                }
            }

这是怎么回事? 顺便说一句,我确实在AndroidManifest.xml中添加了Internet权限

日志: 2020-09-26 09:19:00.373 24449-24449 / com.testapp.test V /字体:CurFontPath:/system/fonts/Roboto-Regular.ttf 2020-09-26 09:19:00.373 24449-24449 / com.testapp.test D / Typeface:切换到android orgin ttf 2020-09-26 09:19:00.394 24449-24449 / com.testapp.test V /字体:CurFontPath:/system/fonts/Roboto-Regular.ttf 2020-09-26 09:19:00.394 24449-24449 / com.testapp.test D / Typeface:切换到android orgin ttf 2020-09-26 09:19:00.414 24449-24607 / com.testapp.test D / NetworkSecurityConfig:未指定网络安全配置,使用平台默认值 2020-09-26 09:19:00.429 24449-24607 / com.testapp.test I / DpmTcmClient:RegisterTcmMonitor from:com.android.okhttp.TcmIdleTimerMonitor 2020-09-26 09:19:00.434 24449-24607 / com.testapp.test I / DpmTcmClient:RegisterTcmMonitor from:com.android.okhttp.TcmIdleTimerMonitor 2020-09-26 09:19:00.436 24449-24488 / com.testapp.test W / Adreno-EGL::EGL_BAD_ATTRIBUTE 2020-09-26 09:19:00.476 24449-24613 / com.testapp.test E / RenderScript:SETAFFINITY ret = -1 2020-09-26 09:19:00.477 24449-24612 / com.testapp.test E / RenderScript:SETAFFINITY ret = -1 2020-09-26 09:19:00.477 24449-24611 / com.testapp.test E / RenderScript:SETAFFINITY ret = -1 2020-09-26 09:19:02.157 24449-24607 / com.testapp.test W / System.err:java.lang.IllegalStateException:建立连接后无法添加请求属性 2020-09-26 09:19:02.158 24449-24607 / com.testapp.test W / System.err:at com.android.okhttp.internal.huc.HttpURLConnectionImpl.addRequestProperty(HttpURLConnectionImpl.java:577) 2020-09-26 09:19:02.158 24449-24607 / com.testapp.test W / System.err:at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.addRequestProperty(DelegatingHttpsURLConnection.java:186) 2020-09-26 09:19:02.158 24449-24607 / com.testapp.test W / System.err:at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.addRequestProperty(未知来源:0) 2020-09-26 09:19:02.158 24449-24607 / com.testapp.test W / System.err:at com.testapp.test.SettingsActivity $ 1.run(SettingsActivity.java:60) 2020-09-26 09:19:02.159 24449-24607 / com.testapp.test W / System.err:at android.os.Handler.handleCallback(Handler.java:790) 2020-09-26 09:19:02.159 24449-24607 / com.testapp.test W / System.err:at android.os.Handler.dispatchMessage(Handler.java:99) 2020-09-26 09:19:02.159 24449-24607 / com.testapp.test W / System.err:at android.os.Looper.loop(Looper.java:192) 2020-09-26 09:19:02.159 24449-24607 / com.testapp.test W / System.err:at android.os.HandlerThread.run(HandlerThread.java:65) 2020-09-26 09:19:02.424 24449-24488 / com.testapp.test W / Adreno-EGL::EGL_BAD_ATTRIBUTE

0 个答案:

没有答案