我在清单文件中设置了provider
,在build.gradle中设置了applicationId
,但是仍然从使用相同库(提供程序)安装的另一个应用程序中收到了INSTALL_FAILED_CONFLICTING_PROVIDER
错误,因此卸载了该应用程序但这不是我需要的解决方案。
尝试在build.gradle中设置applicationId
,在清单中将provider
名称authorities
和exported
设置为false。
AndroidManifest.xml
<application...
<provider
android:name="com.sample.unique"
android:authorities="com.sample.app"
android:exported="false" />
android / app / build.gradle
defaultConfig {
applicationId "com.another.data.provider"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
}
应安装该应用程序吗?还是我错过了什么?这是与我冲突的图书馆(提供者):mauron85/react-native-background-geolocation
这是输出日志:
com.android.builder.testing.api.DeviceException:
com.android.ddmlib.InstallException:
INSTALL_FAILED_CONFLICTING_PROVIDER: Package couldn't be installed in
/data/app/com.a.data.provider-v2vDNK1p47vixkJzr9jU_Q==: Can't
install because provider name
com.marianhello.app.mauron85.bgloc.provider (in package
com.a.data.provider) is already used by
com.another.data.provider
答案 0 :(得分:0)
该库对所有应用程序使用相同的程序包名称。您可以在app/build.gradle
中定义使用唯一的软件包名称。
示例:
...
defaultConfig {
...
resValue "string", "mauron85_bgloc_content_authority", "com.marianhello.app.mauron85.bgloc.provider.devbuild"
}
参考: https://github.com/mauron85/react-native-background-geolocation/issues/344