为了测试一个功能,我写了一个DEMO,运行在Android 11设备上,为了能正常读写sd卡的内容,我使用sd卡访问兼容模式,即
android:requestLegacyExternalStorage="true"
然后在项目下新增了xml目录,设置path路径:
接下在配置文件AndroidManifest.xml中配置FileProvider如下:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="com.lwd.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
当编译代码时,编译器提示如下错误:
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
List of apks:
[0] '/home/lwd/Documents/Android-Studio/AndFix-init/app/build/outputs/apk/release/app-release.apk'
Installation failed due to: 'null'
Retry
解决办法:修改provider标签下authorities属性的值,因为这个值被另一个已经安装的app使用,当安装这个app时,两个provider产生冲突,导致无法安装成功。