簡體   English   中英

如何在樹莓派3上停止android Things應用程序並啟動另一個活動

[英]how to stop android things app on raspberry pi 3 and start another activity

我從“ https://developer.android.com/things/training/first-device/peripherals.html#handle_button_events ”網站開發了我的第一個android Things應用。 並將其部署在raspberry pi 3(在4.1版上啟動)上。

輕松部署在樹莓派3上,也讓我閃爍了。

但是現在我不知道如何停止它,進行更改或啟動其他項目。

它不斷閃爍,我不知道如何停止它。

在我的Android Studio中,當我按下開始按鈕時,它會顯示已連接的設備菜單,其中顯示樹莓派處於脫機狀態。 像這樣

您可以使用adb做很多事情,讓我們看一些adb命令,這些命令將幫助您進行android應用程序的開發和測試。

假設您的設備具有IP 10.10.0.123

通過adb連接到設備

$ adb connect 10.10.0.123:5555

檢查可用的已連接設備列表

$ adb devices

上面的命令給出輸出

List of devices attached 
10.10.0.123:5555    device

使用以下命令可以完成應用程序的安裝

$ adb -s 10.10.0.123:5555 install <path to your apk file>

例:

$ adb -s 10.10.0.123:5555 install /home/shahbaz/Android-apps/example.apk

安裝需要時間,具體取決於應用程序的大小,因此請耐心等待

上面的安裝命令輸出

502 KB/s (15896167 bytes in 30.870s)
Success

卸載應用程序

為此,您必須知道應用程序的軟件包名稱

$ adb uninstall com.example.app

啟動應用程序首先連接到設備,然后運行以下命令

$ adb shell 'am start $(cmd package resolve-activity --brief <package-name> | tail -n 1)'

 $ adb shell 'am start $(cmd package resolve-activity --brief com.example.app | tail -n 1)'

這個命令的輸出是這樣的

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.app/.SpalshScreen }

關閉啟動的應用程序

$ adb shell am force-stop <package-name>

$ adb shell am force-stop com.example.app

您可以進一步檢查adb的手冊頁以進行其他操作。

希望這會有所幫助!

發生這種情況是因為您已將應用程序設置為默認啟動應用程序。 因此,它將在您打開Android Thing設備后立即加載。 克服此問題的一種方法是使用命令簡單地遠程卸載當前軟件包:

adb卸載pkg-name

或使用以下命令並手動將其卸載:

adb shell是start -a android.settings.SETTINGS

如果您處於調試階段,最好轉到清單文件並替換以下幾行:

    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.IOT_LAUNCHER"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>

與:

    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>

這樣做會阻止將該應用程序作為您的默認啟動應用程序

更新1:不推薦使用IOT_LAUNCHER,應將其替換為HOME

通過在CMD上執行“ adb kill-server”命令可以解決此問題。 然后重新連接raspberry pi3。因此,脫機標簽已從raspberry pi 3仿真器中刪除。

Android Things OS僅“自動啟動”一個應用程序。 因此,您的舊應用程序將繼續啟動。

您必須卸載舊應用程序,以確保新應用程序已啟動。 您可以使用

adb uninstall your.package.name

或者,如果您安裝了一些舊應用程序,則可以使用以下腳本文件:

https://gist.github.com/blundell/7c0c3bb17898b28fe8122b0dc230af50

卸載它們(不需要知道軟件包名稱!)


如果您看到Rasp Pi處於脫機狀態,則可以重新啟動它(將其關閉再打開)。 :-)


腳本現已更新,可以查找:

 <category android:name="android.intent.category.HOME"/> 

在最新版本(DP8)中取代了IOT_LAUNCHER

在android中,您一次只能使用一個應用程序,因此請使用adb uninstall <installed-app-pkg-name> ,然后開始將另一個項目安裝到Raspberry Pi 3中。還要刪除<category android:name="android.intent.category.IOT_LAUNCHER"/>因此您的應用將無法在啟動時啟動。

目前,此<category android:name="android.intent.category.IOT_LAUNCHER"/>已在android Things穩定版1.0中替換為<category android:name="android.intent.category.HOME"/>

希望這會幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM