Как я могу установить подписанный релиз на pi3? - PullRequest
0 голосов
/ 18 апреля 2019

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

1 Ответ

0 голосов
/ 18 апреля 2019

adb install -r -g C: \ 1 \ app-release.apk

делает свое дело. Я пропустил г флаг. g предоставляет все разрешения.

...