### Question:
AppBundleUtils { public static String getTypeNameByResourceName(String resourceName) { int index = resourceName.indexOf(".R."); String value = resourceName.substring(index + 3); String[] values = value.replace(".", "/").split("/"); if (values.length != 2) { throw new RuntimeException("Invalid resource format, it should be package.type.entry, yours: " + resourceName); } return values[0]; }  static long getZipEntrySize(ZipFile bundleZipFile, ModuleEntry entry, BundleModule bundleModule); static long getZipEntrySize(ZipFile bundleZipFile, ZipPath zipPath); static String getEntryMd5(ZipFile bundleZipFile, ModuleEntry entry, BundleModule bundleModule); static byte[] readByte(ZipFile bundleZipFile, ModuleEntry entry, BundleModule bundleModule); static String bytesToHexString(byte[] src); static String getEntryNameByResourceName(String resourceName); static String getTypeNameByResourceName(String resourceName); static String getResourceFullName(ResourceTableEntry entry); static String getResourceFullName(String packageName, String typeName, String entryName);  }### Answer:
@Test public void test_getTypeNameByResourceName() { assertEquals(AppBundleUtils.getTypeNameByResourceName("a.b.c.R.drawable.a"), "drawable"); }