android 无法安装,因为提供程序名称为.federicoboschini.fileprovider(在包1中)已被包2使用

bt1cpqcv  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(121)

我有两个应用程序使用相同的ContentProvider“it.federicoboschini:resource-file-provider:1.0.0”.当我安装两个应用程序同时崩溃,即使我已经发布了我的应用程序在播放商店,但它有同样的问题.
我想,在paths.xml中更改路径和名称后,它会解决。但它不能。

清单中:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="@string/rfp_provider_authority"
    android:exported="false"
    android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/paths" />
</provider>

路径.xml:

<?xml version="1.0" encoding="utf-8" ?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <files-path name="all" path="/"> </files-path>
</paths>

在按钮单击侦听器中

try {
    ResourceFileProvider.Builder.from(this)
        .setDirectory(FOLDER_RAW)
        .setFileName("my_sound")
        .setFileExtension("mp3")
        .setFileType(TYPE_AUDIO)
        .build()
        .shareFile();
} catch (FileNotFoundException e) {
    e.printStackTrace();
}
j0pj023g

j0pj023g1#

似乎另一个应用程序已使用此SDK的相同提供程序名称,请通过将以下代码添加到您的路径来更改它
安卓系统/app/源代码/main/res/值字符串. xml

<string name="application_id_for_provider">your.application.id.fileprovider</string>
    • 注意:如果strings.xml不存在,请创建并添加它**

示例:

<resources>
 ...
 ...
<string name="application_id_for_provider">com.yellowmessenger.ymchatbotexample.fileprovider</string>

相关问题