我目前正在编写一个应用程序(应用程序A),它依赖于另一个应用程序的数据(应用程序B)。
作为一个Android,我认为启用该功能的唯一方法是使用ContentProvider并执行查询。
就目前情况而言,目前的做法存在问题,因为应用程序B比我们用于应用程序A的签名具有另一个签名,这意味着:
ContentProvider确切地返回哪些数据时感到很痛苦。
我做了更多的研究,一位同事告诉我,与其每次做一点小小的改动,我们就可以签我们的apk,我们可以提取App的apk,然后用我们的密钥签名一次。
这导致我为我的团队创建了一个密钥存储库和密钥,我用它来重新签署App的apk并在我们的测试设备上重新安装它。然后,我将Android设置为使用完全相同的键自动对App的调试版本进行签名。问题是这并没有改变任何不幸的..。它总是以引发以下异常而告终:
Failed to find provider info for com.App.B.provider
(在使用默认App并将App apk发送到签名服务器时,基本上会引发相同的错误)
要指出的是,如果您想知道,将App的apk发送到签名服务器并运行它就可以了,我们将从ContentProvider获得数据
所以我不知道该怎么办了..。有什么想法吗?而且,由于我不知道我在做什么,任何关于这些事情应该如何进行的解释都是非常受欢迎的!
发布于 2016-04-19 12:46:45
<provider>标签应该放在<application>标签中。另外,请注意不要将其放入<activity>标记中。此外,还可以在清单文件中的<authorities>标记中指定完整路径(请参阅SDK中的SearchableDictionary示例代码)。
<provider android:name=".DictionaryProvider"
android:authorities="com.example.android.searchabledict.DictionaryProvider">或者,您可以使用外部存储,创建目录和直接从那里访问数据。
https://stackoverflow.com/questions/36717341
复制相似问题