在APP应用中运行cmd命令

这个网上其实也有很多相关东西,简单,但是要有平台签名。

这里只说下重点。

运行cmd命令:

Runtime.getRuntime().exec(cmd);

在AndroidManifest.xml中进行如下声明:



...

其中android:sharedUserId="android.uid.system"是获取系统权限(不获取也能运行,但是功能很有限),android:installLocation="internalOnly"是将应用安装在手机内存中。

另外还要获取平台签名,修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行,再进行编译。这样编出来的APK就能运行cmd命令了。

Android.mk文件示例:

###############################################################################
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)


LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_STATIC_ANDROID_LIBRARIES := \
	androidx.fragment_fragment \
	androidx.legacy_legacy-support-core-ui \
	androidx.core_core \
	androidx.legacy_legacy-support-v13 \
	android.support.v4

LOCAL_PACKAGE_NAME := justtest

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

#LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_STATIC_ANDROID_LIBRARIES := \
    android-support-v4 \
    android-support-v7-appcompat \
    android-support-compat \

LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_USE_AAPT2 := true

include $(BUILD_PACKAGE)

 

你可能感兴趣的:(Android排错篇)