通过在manifest中添加android.uid.system和在Android.mk中添加LOCAL_CERTIFICATE := platform,然后MMM编译以获取次特权。但是我通过MMM编译出来的APK不能在系统提供的SDK中创建的AVD里安装,提示Failure [INSTALL_FAILED_OLDER_SDK]
解决方法:
/build/core/version_defaults.mk文件中这一段
ifeq "" "$(DEFAULT_APP_TARGET_SDK)"
# This is the default minSdkVersion and targetSdkVersion to use for
# all .apks created by the build system. It can be overridden by explicitly
# setting these in the .apk's AndroidManifest.xml. It is either the code
# name of the development build or, if this is a release build, the official
# SDK version of this release.
ifeq "REL" "$(PLATFORM_VERSION_CODENAME)"
DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)
else
DEFAULT_APP_TARGET_SDK := $(PLATFORM_VERSION_CODENAME)
endif
endif
将DEFAULT_APP_TARGET_SDK直接赋值相应的API等级即可。