gpt4 book ai didi

android - 当我将该库集成到两个应用程序中时,我创建了一个外部库,第二个应用程序未安装

转载 作者:行者123 更新时间:2023-11-30 05:05:05 25 4
gpt4 key购买 nike

当我在安装第二个应用程序时将该库集成到两个应用程序中时,我创建了一个外部库我得到了混淆应用程序的“包与同名的现有包冲突”问题。

当集成的应用程序处于调试状态时,这两个应用程序将安装在同一台设备上。

虽然集成的应用程序已发布,但两个应用程序都没有安装在同一台设备上,出现“包与同名的现有包冲突”之类的问题。

最佳答案

如果您在lib的AndroidManifest文件中使用了Provider的代码,请将其从lib中移除。将其移至 Apps 的 AndroidManifest 文件。以下内容在两个应用程序的 AndroidManifest 中应该是唯一的。

    <provider
android:name="android.support.v4.content.FileProvider"
android:authorities="your unique app package name"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths_public" />
</provider>

XML 文件将在下面的应用程序资源 xml 文件夹中

    <?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="external_files"
path="." />
<root-path
name="external_files"
path="/storage/" />
</paths>

这也是'包冲突'的原因之一

对于 AndroidManifest of Library,我们需要确保 android:name 应该以 'dot' 开头,例如。 “.sdk.network.FirebaseDataReceiver”。这同样适用于“service android:name ...”。

我在 AndroidManifest 文件中添加了“Receiver”的示例。

    <receiver android:name=".sdk.network.FirebaseDataReceiver" 
android:exported="false"
android:permission="com.google.android.c2dm.permission.SEND"> '
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</receiver>

关于android - 当我将该库集成到两个应用程序中时,我创建了一个外部库,第二个应用程序未安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54720267/

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