【问题标题】:How can I install a signed release on pi3?如何在 pi3 上安装签名版本?
【发布时间】:2019-04-18 21:39:58
【问题描述】:

Headless Pi3,Android Things,运行灌溉应用程序,通过 wifi 连接以通过 Nanohttpd 提供用户界面。我应该提一下,该应用仅供我个人在我的 pi 上使用 - 我并不想推销它或在其他任何地方运行它。

我之前写过我的灌溉应用程序每天失败一次左右,但没有相关的错误消息。我意识到这是因为我一直在使用未签名的 apk 进行测试,现在我读到在此过程中添加了限时签名。我的应用程序在达到时间限制时死掉了。

所以我一直在尝试安装签名版本,但到目前为止都失败了。

我已将签名版本上传到 Things 控制台,并使用它来生成自定义构建。当我将 sd 卡放入我的 pi 时,应用程序运行,但我没有机会输入 wifi 连接详细信息。我试图让我的应用程序不是默认应用程序,希望能在启动时看到 Things 工具包,这样我就可以输入 wifi 详细信息。我还没有成功。

我已尝试在我的 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();
    }

并向 AndroidManifest.xml 添加 wifi/网络权限,但该应用程序仅短暂运行,我失去了 wifi 连接。

我尝试通过 Android Studio 安装签名版本,但我得到“密码验证失败”。我已经尝试清理和重建项目。

我尝试过直接使用 adb: adb install C:\AndroidStudioProjects\irrigator\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

?

【问题讨论】:

    标签: raspberry-pi3 iot


    【解决方案1】:

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

    成功了。我错过了 g 标志。 g 授予所有权限。

    【讨论】:

      猜你喜欢
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 2022-01-23
      • 2016-10-12
      • 2021-06-22
      • 2022-01-24
      • 2017-02-22
      相关资源
      最近更新 更多