我想构建一个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