Android 当我在两个应用程序中集成了一个外部库时,我已经创建了一个外部库,第二个应用程序没有安装
在安装第二个应用程序时,我在两个应用程序中集成了一个外部库。我收到proguard应用程序的“程序包与同名的现有程序包冲突”问题 当集成应用程序处于调试状态时,两个应用程序将安装在同一设备中Android 当我在两个应用程序中集成了一个外部库时,我已经创建了一个外部库,第二个应用程序没有安装,android,Android,在安装第二个应用程序时,我在两个应用程序中集成了一个外部库。我收到proguard应用程序的“程序包与同名的现有程序包冲突”问题 当集成应用程序处于调试状态时,两个应用程序将安装在同一设备中 当集成应用程序发布时,两个应用程序未安装在同一设备上,出现类似“该软件包与同名的现有软件包冲突”的问题。如果您在Lib的AndroidManifest文件中使用了提供程序代码,请将其从Lib中删除。将其移动到应用程序的AndroidManifest文件。以下内容在两个应用程序的AndroidManifest
当集成应用程序发布时,两个应用程序未安装在同一设备上,出现类似“该软件包与同名的现有软件包冲突”的问题。如果您在Lib的AndroidManifest文件中使用了提供程序代码,请将其从Lib中删除。将其移动到应用程序的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,我们需要确保android:name应该以“dot”开头,例如“.sdk.network.FirebaseDataReceiver”。这同样适用于“安卓服务:名称…”
我正在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>
'
如果您在Lib的AndroidManifest文件中使用了Provider代码,请将其从Lib中删除。将其移动到应用程序的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,我们需要确保android:name应该以“dot”开头,例如“.sdk.network.FirebaseDataReceiver”。这同样适用于“安卓服务:名称…”
我正在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>
'
请检查应用程序和库的软件包名称。可能存在相同的包名使用问题。否,两个应用程序包名不同。如果排除库,则两个应用程序都安装在同一设备中。如果我包括了图书馆,那么我就有问题了。我不明白为什么外部库会影响应用程序。您是否正在使用“…”您的AndroidManifest库和应用程序中的功能?您好,谢谢您的支持。最后我找到了一个解决方案。替换到和在接收者的意图过滤器中:替换为请检查应用程序和库的包名。可能存在相同的包名使用问题。否,两个应用程序包名不同。如果排除库,则两个应用程序都安装在同一设备中。如果我包括了图书馆,那么我就有问题了。我不明白为什么外部库会影响应用程序。您是否正在使用“…”您的AndroidManifest库和应用程序中的功能?您好,谢谢您的支持。最后我得到了一个解决方案。替换到和在接收器的意图过滤器中:替换到