我的清单有这个问题。
看起来这可能是一个骗局: Using @string for android:authorities in a ContentProvider
我有一个为不同版本的应用程序提供单独权限的提供程序(以便可以将不同的变体存储在不同目标 res 文件夹的字符串文件夹中。
我的清单如下所示:
<provider android:authorities="@string/app_provider_auth" android:name="com.mecompany.myapp.provider.CachedFileProvider"/>
Bad Manifest
现在,这工作正常,但是当它安装在 2.1 OS 设备上时我看到了一个问题。这是问题,因为当我将其更改为文本字符串时,它在 2.1 上运行良好。
我认为在 2.1 (7) 或更早版本中,清单不允许您从资源文件中引用字符串。那么,我可以为版本 7 创建一个单独的清单吗?我可以在清单中添加一个 if 语句吗?还是我必须提高 minSDK(最后的手段)?
更新:
确定进一步搜索似乎我可以使用我的 Maven 构建设置/切换提供者身份验证字符串。我已经有许多配置文件并且正在覆盖资源文件夹。所以我对这个想法很满意,但它是我无法理解的。就像是
<replaceAuthority>${customerauthority}<replaceAuthority>
但是我不知道我应该使用什么标签,或者我上面假设的方式是否是我需要走的方式。