如果我尝试将文件部署到部署 assets\internal\assets.zip 和 assets.zip,如下所示:
我已经尝试了各种路径来查看是否可以找到 Assets 文件夹或我的 zip 文件。所有下面的代码都没有成功
S1 := TPath.GetHomePath + PathDelim;
S2 := FAppDataDirPathRoot + Application.Title + '.app' + PathDelim;
S3 := TPath.GetLibraryPath + PathDelim;
S4 := TPath.GetDocumentsPath + PathDelim;
if (DirectoryExists(S1)) then // '/data/data/com.embarcadero.xxx/files/': yes:
msAppNoOp
;
if (DirectoryExists(S2)) then // ...: no, leftover test from iOS
msAppNoOp
;
if (DirectoryExists(S3)) then // '/data/app-lib/com.embarcadero.xxx-2/': yes
msAppNoOp
;
if (DirectoryExists(S4)) then // '/data/data/com.embarcadero.xxx/files/' yes
msAppNoOp
;
if (DirectoryExists(S1 + 'assets' + PathDelim)) then // no
msAppNoOp
;
if (DirectoryExists(S2 + 'assets' + PathDelim)) then // no
msAppNoOp
;
if (DirectoryExists(S3 + 'assets' + PathDelim)) then // no
msAppNoOp
;
if (DirectoryExists(S4 + 'assets' + PathDelim)) then // no
msAppNoOp
;
S1 := S1 + 'assets.zip';
S2 := S2 + 'assets.zip';
S3 := S3 + 'assets.zip';
S4 := S4 + 'assets.zip';
if (FileExists(S1)) then // no
msAppNoOp
;
if (FileExists(S2)) then // no
msAppNoOp
;
if (FileExists(S3)) then // no
msAppNoOp
;
if (FileExists(S4)) then // no
msAppNoOp
;
在 Windows 资源管理器中浏览我的手机时,我看不到数据/数据/...,我认为这只有获得 root 权限的手机才有可能...
最佳答案
根据 documentation ,如果你部署到assets/internal
那么你需要使用TPath.GetDocumentsPath
来获取运行时部署文件所在的文件夹。尝试使用 TPath.Combine()
而不是直接使用 PathDelim
:
S4 := TPath.Combine(TPath.GetDocumentsPath, 'assets.zip');
if (FileExists(S4)) then
关于android - Delphi部署与Android文件存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27610951/