go - How can I build a command line app for android? -
i want build small app android can run android command line while i'm remotely connected android device through ssh. don't want button/launcher/icon or gui interface of kind.
i prefer in golang if possible.
i tried using gomobile
(golang.org/x/mobile
) when put apk on device , try run error:
u0_a44@ghost:/data/data/berserker.android.apps.sshdroid/home $ 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 run user -2 calling user 0; requires android.permission.interact_across_users_full @ android.os.parcel.readexception(parcel.java:1546) @ android.os.parcel.readexception(parcel.java:1499) @ android.app.activitymanagerproxy.startactivityasuser(activitymanagernative.java:2504) @ com.android.commands.am.am.runstart(am.java:770) @ com.android.commands.am.am.onrun(am.java:307) @ com.android.internal.os.basecommand.run(basecommand.java:47) @ com.android.commands.am.am.main(am.java:98) @ com.android.internal.os.runtimeinit.nativefinishinit(native method) @ com.android.internal.os.runtimeinit.main(runtimeinit.java:249)
the app small hello world http server. how can install , run in way allows me use other command line programs built android don't require gui (ls
, cat
, cd
, etc).
appears vary system , version, needed android ndk here:
https://developer.android.com/ndk/downloads/index.html
and install toolchain
./android-ndk-r10c/build/tools/make-standalone-toolchain.sh --platform=android-21 --install-dir=$ndk_root
and build binary
cc="$ndk_root/bin/arm-linux-androideabi-gcc" goos=linux goarch=arm goarm=7 cgo_enabled=0 go build -v -o goserv main.go
i got of info here: https://github.com/golang/go/issues/9412
but needed change change paths, change cc_for_target
cc
, goos=android
goos=linux
, , needed set cgo_enabled=0
.
this on linux fedora 25 beta go 1.7.4
Comments
Post a Comment