如何设置 android:authorities 进行测试?

how to set up android:authorities for testing?

我有以下源代码:

FileProvider.getUriForFile(activity, activity.getPackageName() + ".file", file);

以及 Manifest.xml 中的以下内容:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="app.domain.app-name.file"
    ...
</provider>

当应用程序 运行 时可以正常工作。但是,当 运行 检测测试时,activity.getPackageName() returns 我的应用程序包名称附加了“.test”,导致以下异常:

java.lang.IllegalArgumentException: 
Couldn't find meta-data for provider with authority app.domain.app-name.test.file

在这两种情况下都适用的正确设置是什么?

将您的 android:authorities 更改为:

android:authorities="${applicationId}.file"