code: @Implementation(minSdk = P)
    protected static @AnyRes int nativeGetResourceIdentifier(long ptr, @NonNull String name,
        @Nullable String def_type, @Nullable String def_package) {
      String name_utf8 = name;
      if (name_utf8 == null) {
        // This will throw NPE.
        return 0;
      }
  
      String type = null;
      if (def_type != null) {
        String type_utf8 = def_type;
        CHECK(type_utf8 != null);
        type = type_utf8;
      }
  
      String package_ = null;
      if (def_package != null) {
        String package_utf8 = def_package;
        CHECK(package_utf8 != null);
        package_ = package_utf8;
      }
      CppAssetManager2 assetmanager = AssetManagerFromLong(ptr);
      return (int) (assetmanager.GetResourceId(name_utf8, type, package_));
    }
docs: jstring def_type, jstring def_package) {