Differentiate DNS/TCP/HTTP level errors for more accurate error diagnostics
From looking at the message I cannot tell what failed during the operation. Is my internet connection down? Does the remote server not respond? Does the server return a 404? A 500? Is this something completely different?
apk shouldn't output generic error messages but exactly what happens so a user can fix the issue.