2012-09-18 101 views
0

我有一個大型遊戲(50MB +),所以我需要使用Google提供的APK擴展庫。從C++訪問OBB文件

我已經設法解決了下載部分,但現在我需要知道從本機訪問.obb文件的最佳方式。

ZipResourceFile,但是如何有效地從C++使用?

回答

1

與Assets不同,ExternalStorage中的文件可以用普通的posix函數訪問。我需要的只是獲得Obb文件的正確路徑。

目錄可以想出這樣:

File root = Environment.getExternalStorageDirectory(); 
String path = root.toString() + Constants.EXP_PATH + getPackageName(); 

和文件名想出了這樣的:

String filename = isMainFile ? "main." : "patch.") + versionCode + "." + getPackageName() + ".obb" 
+0

這看起來並不像你所提到NDK(C++)您的題。你能舉一個NDK的例子嗎?謝謝! – kakyo

+0

您可以在NDK上使用普通的POSIX文件操作。問題是我不知道該文件在哪裏。我認爲我必須使用類似AssetManager的東西來訪問它。但事實證明,一旦你知道路徑,它很容易訪問。我的回答顯示如何找出路徑。 – Habba

+0

下面是知道路徑後如何閱讀文件:http://www.cplusplus.com/reference/cstdio/fopen/ – Habba