gpt4 book ai didi

java - Android 中的 INSTALL_FAILED_CONFLICTING_PROVIDER

转载 作者:IT老高 更新时间:2023-10-28 23:28:07 27 4
gpt4 key购买 nike

我正在为一个名为 MyTracks 的应用使用来自 Google 的开源代码。

我在手机上安装原始应用时收到此错误。

INSTALL_FAILED_CONFLICTING_PROVIDER

我知道这是因为 Manifest 中的 android:authorities

这是 list 的一部分:

<provider
android:name="com.google.android.apps.mytracks.content.MyTracksProvider"
android:authorities="com.google.android.maps.mytracks"
android:exported="true"
android:readPermission="com.google.android.apps.mytracks.READ_TRACK_DATA"
android:writePermission="com.google.android.apps.mytracks.WRITE_TRACK_DATA" />
<!-- Search suggestion provider -->
<provider
android:name="com.google.android.apps.mytracks.content.SearchEngineProvider"
android:authorities="com.google.android.maps.mytracks.search"
android:exported="false" />

所以,我的问题是:我想知道这种方法是否可以解决问题,因为我害怕更改所有包名称,然后整个应用程序都坏了。

  1. android :authorities 值是包名。 android:name 是该提供者的类的名称。我说的对吗?

如果我将包名称更改为不同于 com.google etx 的另一个名称,并重命名该包的所有引用/导入,问题是否会消失?

最佳答案

The android :authorities value is the package name.

在这种情况下,它恰好是包名。它必须是独一无二的。

The android:name is the name of the class of that provider

正确。

If I change the package name, to another one different than the com.google etx, and rename all the references/ imports of that package, should the problem go away?

包名与它无关。不过,您可能还需要更改它,以便您的应用能够与常规的、未修改的应用一起安装。

您需要为 android:authorities 设置一个唯一值,并且您的应用中使用此 ContentProvider 的代码需要使用适当的 Uri (content://whatever.you.change.the.authority.to/...)。

关于java - Android 中的 INSTALL_FAILED_CONFLICTING_PROVIDER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21271246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com