我想構建一個android應用程序的小應用程序,我可以從android命令行運行,同時通過ssh遠程連接到android設備。我不想要任何形式的按鈕/啓動器/圖標或GUI界面。我該如何構建一個android的命令行應用程序?
如果可能的話,我寧願在golang中這樣做。
我嘗試使用gomobile
(golang.org/x/mobile
),但是當我把我的APK設備上,並嘗試運行它,我得到的錯誤:
[email protected]:/data/data/berserker.android.apps.sshdroid/home $ am start gserv.apk
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=gserv.apk }
java.lang.SecurityException: Permission Denial: startActivity asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
at android.os.Parcel.readException(Parcel.java:1546)
at android.os.Parcel.readException(Parcel.java:1499)
at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2504)
at com.android.commands.am.Am.runStart(Am.java:770)
at com.android.commands.am.Am.onRun(Am.java:307)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
at com.android.commands.am.Am.main(Am.java:98)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:249)
該應用程序只是一個小的hello world HTTP服務器。如何安裝和的方式,允許我使用它就像內置到不需要GUI(ls
,cat
,cd
等)Android其它命令行程序運行它。
'am start'不會將APK作爲參數。它是通過一個「Intent」(你沒有的)開始一個Android活動(你沒有)。 APK沒有像您正在尋找的命令行界面。歡迎您編譯本機二進制文件,將其上傳到設備,將其標記爲可執行文件,並嘗試從命令行運行它。 – CommonsWare
是的,我不是很聰明。我能夠通過安裝Android的NDK,並運行'CC = 「$ NDK_ROOT /斌/ ARM-Linux的androideabi-gcc的」 全球海洋觀測系統的Linux = = GOARCH手臂GOARM = 7 CGO_ENABLED = 0要建立-v -o來構建它goserv main.go' – hermancain