我试图通过将我的 Android 应用程序项目更改为 Android 库项目,然后将库导入新的 Android 应用程序项目来为我的应用程序添加白标签。
我遇到了一个问题,即我的应用程序(阅读:图书馆项目)包含一个 ContentProvider。
当我尝试将新的 Android 应用程序项目安装到模拟器上时,控制台告诉我:
[2014-01-24 13:35:39 - WhitelabelTest] Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
[2014-01-24 13:35:39 - WhitelabelTest] Please check logcat output for more details.
[2014-01-24 13:35:39 - WhitelabelTest] Launch canceled!
根据logcat:
01-24 13:38:52.217: W/PackageManager(58): Can't install because provider name com.myapp.app.db.providers.MyProvider (in package com.example.whitelabeltest) is already used by com.myapp.app
01-24 13:38:52.227: W/PackageManager(58): Package couldn't be installed in /data/app/com.example.whitelabeltest-2.apk
这是否仅仅意味着您不能将两个应用程序安装在同一设备上,因为它们使用相同的 ContentProvider?或者有没有办法解决这个问题?我是否需要在我的新 Android 项目中创建一个新的 ContentProvider 并使用新名称?
这是我的 WhitelabelTest 项目清单中列出的提供程序:
<provider
android:name="com.myapp.app.db.providers.MessagesProvider"
android:authorities="com.myapp.app.db.providers.MessagesProvider"
android:exported="false" />
我试图用相同的结果更改名称参数。