我的android应用程序能够在Oreo&Pie中安装而没有任何问题。如果我尝试在棉花糖和牛轧糖版本的手机中安装发行版本,则会引发错误“解析程序包时出错”,请在gradle中找到我的sdk版本
compileSdkVersion 28
minSdkVersion 21
targetSdkVersion 28
implementation com.android.support:appcompat-v7:28.0.0
implementation com.android.support:support-v4:28.0.0
implementation com.android.support:design:28.0.0
假设如果将我的编译和目标sdk版本更改为26,它可以在棉花糖和牛轧糖设备中使用吗?如果我将SDK版本更改为26,将支持库更改为26.0.0,则会出现构建错误,例如android资源链接失败。
请帮助我解决此问题,并为我的android应用程序提供从棉花糖到pie [最新向前兼容性]的支持解决方案。
预先感谢
答案 0 :(得分:2)
按照您的构建标准,我认为您的buildToolsVersion不正确。
buildToolsVersion '28.0.3'
按照上述步骤更改buildToolsVersion。
答案 1 :(得分:1)
build.gradle文件没有变化。请使用相同的配置“ compileSdkVersion 28 minSdkVersion 21 targetSdkVersion 28“。看起来不错
我猜发行版apk中有问题。请重新检查以下常见错误:
答案 2 :(得分:0)
大家好,谢谢您的建议和评论。最后,我发现了牛轧糖7.0版本中的问题是什么。
问题不存在。由于我的项目名称位于项目文件夹(即“活动”,“服务”,“实用工具”,“模型”)中,因此所有软件包名称均以大写字母开头,因此引发错误,提示在Android清单文件 android:name 中未已定义[尝试在Nougat设备上安装时无法识别]。
通过在API Level 24和25模拟器中安装发行版APK发现问题,并在LogCat中发现错误。
一旦我用小写字母(即活动,服务,实用程序)修改了项目中的所有软件包名称,现在就可以在Nougat版本设备中安装发行版APK。
现在无法在棉花糖设备6.0中安装它。这次出现未安装应用错误
请让我知道6.0版设备缺少的内容。
预先感谢
答案 3 :(得分:-1)
compileSdkVersion
和targetSdkVersion
通常保持相似,并且通过定义此名称,您可以告诉应用您专门为该应用开发的Android设备。因此,无论您的targetSdkVersion
是什么,应用程序都将在此过程中最流畅地运行。
minSdkVersion
是您要定位的最小sdk。因此,如果您希望支持的最低设备为Marshmallow
,则该应用程序将不适用于api版本低于Marshmallow
的设备,实际上,该应用程序甚至不会出现在playstore中。>