小米手环APP 失败:Failure [INSTALL_FAILED_OLDER_SDK] 原因

2022-11-30 16:51:26 浏览数 (1)

最近想给女朋友买个小米手环,结果淘宝客服说要求Android版本4.4以上,蓝牙4.0以上。

百度手机型号查了半天参数,发现我的2个手机一个蓝牙版本不够,一个android版本4.2,怎么办呢?先下个小米手环APP(现改为小米运动APP)试试吧,结果安装时候老安装失败:Failure [INSTALL_FAILED_OLDER_SDK]

根据意思好像是SDK版本太老?百度了一下,网上都说是因为程序源码下的“AndroidManifest.xml”文件中定义了“minSdkVersion”的原因,唉,我也没有人家的源码,也无法修改,只好期待女朋友手机sdk版本可以了。

记不清sdk与api版本对应的可以看下这里:SDK与API版本对应关系

在查阅资料的时候考虑到自己以后的代码可能也会遇到这种问题,把解决办法记录如下:

1.打开源码目录下的AndroidManifest.xml文件,然后注释掉或者删除掉这行:

代码语言:javascript复制
 <uses-sdk android:minSdkVersion="4" />

2.考虑到可能有使用gradle等构件工具的情况,光进行上述操作并不奏效,原因是在自动构件时会重新生成AndroidManifest.xml文件。那我们就要追根溯源,找到gradle的构件文件,进行相应修改.

  • 解决方案:
  • 修改源码app目录下的“build.gradle”文件,将其中的minSdkVersion 、targetSdkVersion 修改为跟虚拟设备的安卓API版本一致即可。

3.还有网友是Ubuntu下编译Android,通过mmm编译,如果出现这个错误,就需要在/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)”

代码语言:javascript复制
DEFAULT_APP_TARGET_SDK := $(PLATFORM_SDK_VERSION)

else

DEFAULT_APP_TARGET_SDK := $(PLATFORM_VERSION_CODENAME) endif endif

将DEFAULT_APP_TARGET_SDK直接赋值相应的API等级即可。

0 人点赞