«Сеть недоступна» в опубликованном приложении Play Store, но работает отладочная версия - PullRequest
0 голосов
/ 27 мая 2019

Я не могу подключиться к своему Chromecast Audio, используя опубликованную версию Play Store моего приложения, но я могу подключиться к USB-версии для отладки на том же телефоне. Обе версии могут иметь доступ к сети, то есть обе они успешно находят IP-адрес устройства Chromecast.

Тот же телефон, Chromecast, сеть и код. Это просто Play Store, опубликованный APK / Bundle, который не может подключиться.

В Logcat я вижу:

2019-05-27 11:05:12.753 9203-9370/? W/System.err: java.net.ConnectException: failed to connect to /192.168.100.109 (port 8009) from /:: (port 0): connect failed: ENETUNREACH (Network is unreachable)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at libcore.io.IoBridge.connect(IoBridge.java:138)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:129)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:357)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:201)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:183)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at java.net.Socket.connect(Socket.java:616)
2019-05-27 11:05:12.753 9203-9370/? W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.connect(OpenSSLSocketImpl.java:263)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at com.android.org.conscrypt.OpenSSLSocketImpl.connect(OpenSSLSocketImpl.java:250)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at f.a.a.a.a.y.connect(Unknown Source:55)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at f.a.a.a.a.y.d(Unknown Source:4)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at f.a.a.a.a.z.a(Unknown Source:28)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at f.a.a.a.a.z.j(Unknown Source:5)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at f.a.a.a.a.z.e(Unknown Source:0)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at [my app's name].j.e(Unknown Source:29)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at [my app's name].j.b(Unknown Source:0)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at [my app's name].f.run(Unknown Source:3)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at java.lang.Thread.run(Thread.java:784)
2019-05-27 11:05:12.754 9203-9370/? W/System.err: Caused by: android.system.ErrnoException: connect failed: ENETUNREACH (Network is unreachable)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at libcore.io.Linux.connect(Native Method)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:126)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at libcore.io.IoBridge.connectErrno(IoBridge.java:152)
2019-05-27 11:05:12.754 9203-9370/? W/System.err:     at libcore.io.IoBridge.connect(IoBridge.java:130)

Очевидно, что мое приложение может получить доступ к сети, так как оно находит IP-адрес AVR / Chromecast Audio (192.168.100.109). Я также дал ему разрешение ИНТЕРНЕТ в манифесте. Я также использую minifyEnabled true и shrinkResources true в моем файле build.gradle.

Для удобства я использую ChromeCast Java API v2 , а не официальный Cast SDK , если это имеет какое-либо значение.

РЕДАКТИРОВАТЬ: Решено. Эта опция minifyEnabled true в файле build.gradle (Module: app) (т.е. ProGuard) не понравилась библиотеке ChromeCast Java API v2 .

1 Ответ

0 голосов
/ 29 мая 2019

Включение опции minifyEnabled true в файле build.gradle (Module: app) было проблемой. ProGuard и библиотека ChromeCast Java API v2 плохо работают вместе, поэтому необходимо добавить исключения в файл proguard-rules.pro, если нужно использовать параметр minifyEnabled:

-keep class su.litvak.chromecast.**
-keepclassmembers class su.litvak.chromecast.** {*;}

Большое спасибо за принятый ответ на этот вопрос пользователем random .

...