Headless Pi3, Android Things, с запущенным ирригационным приложением, подключающимся через wifi для обеспечения пользовательского интерфейса через Nanohttpd. Я должен упомянуть, что приложение предназначено только для личного использования на моем пи - я не пытаюсь продавать его или запускать где-либо еще.
Ранее я писал о том, что мое приложение для орошения выходит из строя раз в день или около того без соответствующих сообщений об ошибках. Я понял, что это потому, что я использовал неподписанный apk для тестирования, и теперь я прочитал, что в процессе добавляется подпись с ограниченным временем. Мое приложение умирает, когда оно достигает срока.
Итак, я пытался установить подписанную версию и до сих пор не получилось.
Я загрузил подписанную версию в консоль Things и использовал ее для создания пользовательской сборки. Когда я вставляю SD-карту в свой пи, приложение запускается, но у меня нет возможности ввести информацию о подключении Wi-Fi. Я пытался сделать свое приложение не приложением по умолчанию, в надежде увидеть инструментарий Things при загрузке, чтобы я мог ввести данные Wi-Fi. Мне это не удалось.
Я попытался вызвать этот код в моем onCreate ():
private void connectToWifi() {
String networkSSID = "***";
String networkPass = "***";
WifiConfiguration conf = new WifiConfiguration();
conf.SSID = "\"" + networkSSID + "\""; // Please note the quotes. String should contain ssid in quotes
conf.preSharedKey = "\""+ networkPass +"\"";
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
wifiManager.addNetwork(conf);
//remember id
int netId = wifiManager.addNetwork(conf);
wifiManager.disconnect();
wifiManager.enableNetwork(netId, true);
wifiManager.reconnect();
}
и добавление разрешений wifi / сети в AndroidManifest.xml, но приложение запускается ненадолго, и я теряю соединение wifi.
Я попытался установить подписанную версию через Android Studio, но я получил сообщение «Ошибка проверки пароля». Я пытался очистить и восстановить проект.
Я пытался использовать adb напрямую:
adb install C: \ AndroidStudioProjects \ irisator \ app-release.apk
но я получаю
'Ошибка разрешения: com.google.android.things.permission.USE_PERIPHERAL_IO'
, хотя у меня есть эти разрешения в моем AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
и в Things Console я отмечал эти разрешения в процессе сборки.
Я не знаю, что попробовать дальше. Любая помощь высоко ценится.
ОБНОВЛЕНИЕ: Я пытался загрузить подписанную версию, которую я зарегистрировал, в консоль Android. Хотя в списке разрешений, показанном на консоли, написано:
android.permission.INTERNET
com.google.android.things.permission.USE_PERIPHERAL_IO
Я все еще получаю сообщение об ошибке в logcat:
java.lang.SecurityException: Caller lacks required permission com.google.android.things.permission.USE_PERIPHERAL_IO