C# 如何在Xamarin应用程序和Java Android应用程序之间共享sqlite数据库
正如标题所说,我想在一个用Java编写的Android应用程序和一个用Xamarin用C#编写的应用程序之间共享一个Sqlite数据库。我可以在两个Java应用程序()之间成功共享一个数据库,但当我在Xamarin中尝试相同的操作时,会出现以下错误:C# 如何在Xamarin应用程序和Java Android应用程序之间共享sqlite数据库,c#,android,sqlite,xamarin,xamarin.android,C#,Android,Sqlite,Xamarin,Xamarin.android,正如标题所说,我想在一个用Java编写的Android应用程序和一个用Xamarin用C#编写的应用程序之间共享一个Sqlite数据库。我可以在两个Java应用程序()之间成功共享一个数据库,但当我在Xamarin中尝试相同的操作时,会出现以下错误: Android.Database.Sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库 我想我有两个问题 我没有正确设置共享用户ID。目前,我将以下属性置于我的主要活动之上 [注册(“
Android.Database.Sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库
我想我有两个问题
[注册(“my.user.id”)]
我尝试在清单文件中使用android:sharedUserId=“my.user.id”
,但这会引发错误,无法部署到我的设备上我只是想补充一下,我是如何用相同的证书签署这两个应用程序的,以供将来参考
Android证书为noramly
“C:\Users\userName\.Android\debug.keystore”
,Xamarin证书为noramly“C:\Users\userName\AppData\Local\Xamarin\Mono for Android\debug.keystore”
。我首先构建了Xamarin应用程序,所以我将debug.keystore文件从Xamarin文件夹复制到android文件夹。(我确信它会反过来工作,但还没有测试过)Xamarin。Android
不支持通过ApplicationAttribute
的SharedUserId
。(我想没有人会对此提出异议)
参考:
通过清单添加共享用户id,它将正常工作:
例如:
<application android:allowBackup="true" android:sharedUserId="com.sushihangover" android:icon="@mipmap/icon" android:label="@string/app_name"></application>
注意:确保手动卸载这两个应用程序,添加sharedUserId
,重建并重新安装这两个应用程序
注意:确保对Java和Xamarin应用程序使用相同的签名证书