是否可以为android构建可从adb shell执行的CLI应用程序?
只是想知道是否有可能构建可以从adb shell运行的CLI应用程序?目前这是可能的,尽管官方不支持/鼓励 最简单的方法可能是设置一个项目目录,并在其中设置一个带有Android.mk和C源代码的jni文件夹——使用hello jni ndk示例作为指南 然后将Android.mk中的BUILD_SHARED_库更改为BUILD_EXECTUABLE,并像往常一样从父项目目录运行ndk BUILD 您可能还可以使用ndk独立工具链生成功能,或者在过去的一些时候有各种非官方的包装器系统,以使ndk gcc更易于(ab)使用 您可以在安全设备上放置可执行文件的位置不多。SD卡因可执行位的装载级别阻塞而失效。大约从Android 2.2开始,adb shell用户可以编写目录/data/local,在早期版本中,有一个/sqlite\u stmt\u journals目录,人们经常滥用该目录进行测试是否可以为android构建可从adb shell执行的CLI应用程序?,android,shell,command-line-interface,adb,Android,Shell,Command Line Interface,Adb,只是想知道是否有可能构建可以从adb shell运行的CLI应用程序?目前这是可能的,尽管官方不支持/鼓励 最简单的方法可能是设置一个项目目录,并在其中设置一个带有Android.mk和C源代码的jni文件夹——使用hello jni ndk示例作为指南 然后将Android.mk中的BUILD_SHARED_库更改为BUILD_EXECTUABLE,并像往常一样从父项目目录运行ndk BUILD 您可能还可以使用ndk独立工具链生成功能,或者在过去的一些时候有各种非官方的包装器系统,以使ndk
另一种可能是使用APK将可执行文件部署在其私有存储中,并使其具有全局可读性和可执行性(可能需要jni调用chmod()来为其他人获取执行位集,或者我认为您可以执行chmod shell实用程序)。缺点是shell必须使用长/data/data/some.package.name路径,中间/data文件夹不可浏览 是的,这是可能的,Android NDK使用C。您可能需要根目录才能将二进制文件存储到要执行的位置,注意,它不会从SD卡上运行,通常会想到/data/local/tmp。当您将二进制文件推送到上述位置时,您必须在二进制文件本身上设置权限的执行位才能运行它。很可能,所有权和组所有者也必须更改 您的里程数将因ROM而异