前提・実現したいこと
unityでdbを利用したAndroidアプリを作成したいのですが、streamingAssetsからAndroidにコピーするところで失敗しているようです。
エディタ上では正常に動作するのですが、端末上だとうまく動かず困っています。どうすれば解決するのかをご教示願いたいです。
発生している問題・エラーメッセージ
FileNotFoundException: jar:file:///data/app/~~CvmWIkmT4orzuZ7qTwS1sw==/com.DefaultCompany.BookLibraly-XVa2qiXUCxDC9hXop_YO5g==/base.apk!/assets/bookList.db does not exist
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using System.IO; 5 6public class CopyFile : MonoBehaviour 7{ 8 void Start(){ 9 string tempFilePath = Application.persistentDataPath + "/bookList.db"; 10 11 #if UNITY_EDITOR 12 string baseFilePath = Application.streamingAssetsPath + "/bookList.db"; 13 #elif UNITY_ANDROID 14 string baseFilePath = "jar:file://" + Application.dataPath + "!/assets/bookList.db"; 15 #endif 16 17 Debug. Log("FilePath = " + Application.persistentDataPath); 18 FileCopy(baseFilePath, tempFilePath); 19 } 20 static void FileCopy(string baseFilePath, string tempFilePath){ 21 if(System.IO.File.Exists(tempFilePath) == false){ 22 Debug.Log("did not copy file"); 23 File.Copy(baseFilePath, tempFilePath); 24 } 25 } 26} 27
試したこと
ファイルパスをApplication.streamingAssetsPath + "/bookList.db
からjar:file://" + Application.dataPath + "!/assets/bookList.db
のように編集
補足情報(FW/ツールのバージョンなど)
・Unity2019.4.16F1
・Android 11
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/21 02:58 編集