在 android > 3 上找不到 sqlite11 数据库路径

Cant find sqlite3 database path on android > 11

提问人:Jimmy 提问时间:11/9/2023 更新时间:11/9/2023 访问量:36

问:

您好,我有一个由另一位开发人员编写的 xamarin forms 应用程序,我必须为 android 13 发布相同的应用程序,但它不起作用,我尝试调试它并发现我无法打开与数据库的连接,似乎有较新的 android 的安全性

  public string CreateDB()
  {
      try
      {
          string dbPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), "tabletDB.db3");           
          Java.IO.File database = Android.App.Application.Context.GetDatabasePath((string)dbPath);

          if (!database.Exists())
          {
              var output = "";
              var db = new SQLiteConnection((string)dbPath);
              output += "\n Database Created " + (string)dbPath;
              return output;
          }
          else
          {
              return "Database Exists !!" + (string)dbPath;
          }
      }catch (Exception ex)
      {
          ex.Message.ToString();
          return null;
      }
  }

如果我使用旧版本的 android,它可以正常工作,但在较新的版本上,我在打开连接时出现错误状态:/system/lib/libsqlite.so 程序集:类型:member:(null) 对不起,如果这是一个愚蠢的问题,但我对 Android 一无所知,我被要求发布这个应用程序

C# Android SQLite Xamarin Xamarin.Forms

评论

0赞 Jessie Zhang -MSFT 11/10/2023
您能否发布有关此问题的完整错误日志?

答: 暂无答案