2016-12-12 7 views
0

Я пытался перекомпилировать приложение для Android, которое было написано около 2014 года. Большая часть материала работает, кроме проблемы LocalSocketAddress. Ниже приведен пример кода, который не работаетandroid LocalSocketAddress.Namespace.filesystem не может подключиться

private final LocalSocketAddress mSocketPath;  

mSocketPath = new LocalSocketAddress(socketPath, Namespace.FILESYSTEM); 
try { 
    s.connect(mSocketPath); 
    synchronized(this) { 
     mSocket = s; 
     mInputStream = s.getInputStream(); 
     mOutputStream = s.getOutputStream(); 
    } 
    return true; 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

В LogCat я вижу следующее исключение:

12-13 10:48:33.373 13951 14035 W System.err: java.io.IOException: No such file or directory 
12-13 10:48:33.373 13951 14035 W System.err: at android.net.LocalSocketImpl.connectLocal(Native Method) 
12-13 10:48:33.373 13951 14035 W System.err: at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:299) 
12-13 10:48:33.373 13951 14035 W System.err: at android.net.LocalSocket.connect(LocalSocket.java:130) 
12-13 10:48:33.373 13951 14035 W System.err: at gpsplus.rtkgps.RtklibLocalSocketThread.connectLoop(RtklibLocalSocketThread.java:165) 
12-13 10:48:33.373 13951 14035 W System.err: at gpsplus.rtkgps.RtklibLocalSocketThread.run(RtklibLocalSocketThread.java:246) 

Present компилятор Andriod: 2.2.3. Мой файл buid.gradle я упомянул, что minSdkversion равно 23, а tagetSdkversion равно 23. Также задайте разрешение пользователя на файл манифеста.

Может ли кто-нибудь помочь мне решить эту проблему?

+0

Вы также можете использовать разрешения, которые вы используете, а также на телефоне проверить настройки приложения, предоставленные этими разрешениями, в частности, хранилище, поскольку вы портировали приложение, я считаю, что вы не обрабатываете их, как https://developer.android.com/training/permissions/requesting.html? – petrumo

+0

Я использую следующее разрешение в файле манифеста: "android.permission.ACCESS_NETWORK_STATE" "android.permission.BLUETOOTH" "android.permission.INTERNET" "android.permission.WAKE_LOCK" "android.permission.WRITE_EXTERNAL_STORAGE" "android.permission. USB_PERMISSION "" android.permission.ACCESS_MOCK_LOCATION " " android.permission.ACCESS_WIFI_STATE " " android.permission.ACCESS_COARSE_LOCATION "" android.permission.BLUETOOTH_ADMIN " – user974194

+0

, чем в этом случае, перейдите в настройки приложения и предоставите приложению разрешение на хранение , http://www.howtogeek.com/230683/how-to-manage-app-permissions-on-android-6.0/, какие-либо изменения в выходе? – petrumo

ответ

0

Чтобы перенести разрешение на новые версии Android 6 и выше, вам необходимо обработать их следующим образом: https://developer.android.com/training/permissions/requesting.html и другие сообщения на нем Android 6.0 multiple permissions. Я не могу сказать, если это единственная проблема, которая вызывает ошибку.

+0

Спасибо. Я смотрю это сейчас .. :) – user974194