diff options
Diffstat (limited to 'resources/src/main/java/org/robolectric/res/android/CppApkAssets.java')
-rw-r--r-- | resources/src/main/java/org/robolectric/res/android/CppApkAssets.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/resources/src/main/java/org/robolectric/res/android/CppApkAssets.java b/resources/src/main/java/org/robolectric/res/android/CppApkAssets.java index 58d436b69..58370c892 100644 --- a/resources/src/main/java/org/robolectric/res/android/CppApkAssets.java +++ b/resources/src/main/java/org/robolectric/res/android/CppApkAssets.java @@ -5,7 +5,6 @@ package org.robolectric.res.android; import static org.robolectric.res.android.CppAssetManager.FileType.kFileTypeDirectory; import static org.robolectric.res.android.CppAssetManager.FileType.kFileTypeRegular; -import static org.robolectric.res.android.Util.CHECK; import static org.robolectric.res.android.ZipFileRO.OpenArchive; import static org.robolectric.res.android.ZipFileRO.kCompressDeflated; @@ -57,7 +56,7 @@ public class CppApkAssets { // bool ForEachFile(const String& path, // const std::function<void(const StringPiece&, FileType)>& f) const; - private CppApkAssets() { + CppApkAssets() { this.zipFileRO = null; } @@ -357,7 +356,10 @@ public class CppApkAssets { boolean ForEachFile(String root_path, ForEachFileCallback f) { - CHECK(zip_handle_ != null); + if (zip_handle_ == null || zipFileRO == null) { + // In this case, the ApkAssets was loaded from a pure ARSC, and does not have assets. + return false; + } String root_path_full = root_path; // if (root_path_full.back() != '/') { |