diff --git a/libs/hwui/apex/LayoutlibLoader.cpp b/libs/hwui/apex/LayoutlibLoader.cpp
index 942c050..b7a1563 100644
--- a/libs/hwui/apex/LayoutlibLoader.cpp
+++ b/libs/hwui/apex/LayoutlibLoader.cpp
@@ -53,6 +53,7 @@
 extern int register_android_graphics_Matrix(JNIEnv* env);
 extern int register_android_graphics_Paint(JNIEnv* env);
 extern int register_android_graphics_Path(JNIEnv* env);
+extern int register_android_graphics_PathIterator(JNIEnv* env);
 extern int register_android_graphics_PathMeasure(JNIEnv* env);
 extern int register_android_graphics_Picture(JNIEnv* env);
 extern int register_android_graphics_Region(JNIEnv* env);
@@ -100,6 +101,7 @@
         {"android.graphics.Paint", REG_JNI(register_android_graphics_Paint)},
         {"android.graphics.Path", REG_JNI(register_android_graphics_Path)},
         {"android.graphics.PathEffect", REG_JNI(register_android_graphics_PathEffect)},
+        {"android.graphics.PathIterator", REG_JNI(register_android_graphics_PathIterator)},
         {"android.graphics.PathMeasure", REG_JNI(register_android_graphics_PathMeasure)},
         {"android.graphics.Picture", REG_JNI(register_android_graphics_Picture)},
         {"android.graphics.RecordingCanvas", REG_JNI(register_android_view_DisplayListCanvas)},
diff --git a/libs/hwui/apex/jni_runtime.cpp b/libs/hwui/apex/jni_runtime.cpp
index e1f5abd7..39725a5 100644
--- a/libs/hwui/apex/jni_runtime.cpp
+++ b/libs/hwui/apex/jni_runtime.cpp
@@ -59,6 +59,7 @@
 extern int register_android_graphics_Matrix(JNIEnv* env);
 extern int register_android_graphics_Paint(JNIEnv* env);
 extern int register_android_graphics_Path(JNIEnv* env);
+extern int register_android_graphics_PathIterator(JNIEnv* env);
 extern int register_android_graphics_PathMeasure(JNIEnv* env);
 extern int register_android_graphics_Picture(JNIEnv*);
 extern int register_android_graphics_Region(JNIEnv* env);
@@ -94,59 +95,60 @@
     };
 #endif
 
-static const RegJNIRec gRegJNI[] = {
-    REG_JNI(register_android_graphics_Canvas),
-    // This needs to be before register_android_graphics_Graphics, or the latter
-    // will not be able to find the jmethodID for ColorSpace.get().
-    REG_JNI(register_android_graphics_ColorSpace),
-    REG_JNI(register_android_graphics_Graphics),
-    REG_JNI(register_android_graphics_Bitmap),
-    REG_JNI(register_android_graphics_BitmapFactory),
-    REG_JNI(register_android_graphics_BitmapRegionDecoder),
-    REG_JNI(register_android_graphics_ByteBufferStreamAdaptor),
-    REG_JNI(register_android_graphics_Camera),
-    REG_JNI(register_android_graphics_CreateJavaOutputStreamAdaptor),
-    REG_JNI(register_android_graphics_CanvasProperty),
-    REG_JNI(register_android_graphics_ColorFilter),
-    REG_JNI(register_android_graphics_DrawFilter),
-    REG_JNI(register_android_graphics_FontFamily),
-    REG_JNI(register_android_graphics_HardwareRendererObserver),
-    REG_JNI(register_android_graphics_ImageDecoder),
-    REG_JNI(register_android_graphics_drawable_AnimatedImageDrawable),
-    REG_JNI(register_android_graphics_Interpolator),
-    REG_JNI(register_android_graphics_MaskFilter),
-    REG_JNI(register_android_graphics_Matrix),
-    REG_JNI(register_android_graphics_Movie),
-    REG_JNI(register_android_graphics_NinePatch),
-    REG_JNI(register_android_graphics_Paint),
-    REG_JNI(register_android_graphics_Path),
-    REG_JNI(register_android_graphics_PathMeasure),
-    REG_JNI(register_android_graphics_PathEffect),
-    REG_JNI(register_android_graphics_Picture),
-    REG_JNI(register_android_graphics_Region),
-    REG_JNI(register_android_graphics_Shader),
-    REG_JNI(register_android_graphics_RenderEffect),
-    REG_JNI(register_android_graphics_TextureLayer),
-    REG_JNI(register_android_graphics_Typeface),
-    REG_JNI(register_android_graphics_YuvImage),
-    REG_JNI(register_android_graphics_animation_NativeInterpolatorFactory),
-    REG_JNI(register_android_graphics_animation_RenderNodeAnimator),
-    REG_JNI(register_android_graphics_drawable_AnimatedVectorDrawable),
-    REG_JNI(register_android_graphics_drawable_VectorDrawable),
-    REG_JNI(register_android_graphics_fonts_Font),
-    REG_JNI(register_android_graphics_fonts_FontFamily),
-    REG_JNI(register_android_graphics_pdf_PdfDocument),
-    REG_JNI(register_android_graphics_pdf_PdfEditor),
-    REG_JNI(register_android_graphics_pdf_PdfRenderer),
-    REG_JNI(register_android_graphics_text_MeasuredText),
-    REG_JNI(register_android_graphics_text_LineBreaker),
-    REG_JNI(register_android_graphics_text_TextShaper),
+    static const RegJNIRec gRegJNI[] = {
+            REG_JNI(register_android_graphics_Canvas),
+            // This needs to be before register_android_graphics_Graphics, or the latter
+            // will not be able to find the jmethodID for ColorSpace.get().
+            REG_JNI(register_android_graphics_ColorSpace),
+            REG_JNI(register_android_graphics_Graphics),
+            REG_JNI(register_android_graphics_Bitmap),
+            REG_JNI(register_android_graphics_BitmapFactory),
+            REG_JNI(register_android_graphics_BitmapRegionDecoder),
+            REG_JNI(register_android_graphics_ByteBufferStreamAdaptor),
+            REG_JNI(register_android_graphics_Camera),
+            REG_JNI(register_android_graphics_CreateJavaOutputStreamAdaptor),
+            REG_JNI(register_android_graphics_CanvasProperty),
+            REG_JNI(register_android_graphics_ColorFilter),
+            REG_JNI(register_android_graphics_DrawFilter),
+            REG_JNI(register_android_graphics_FontFamily),
+            REG_JNI(register_android_graphics_HardwareRendererObserver),
+            REG_JNI(register_android_graphics_ImageDecoder),
+            REG_JNI(register_android_graphics_drawable_AnimatedImageDrawable),
+            REG_JNI(register_android_graphics_Interpolator),
+            REG_JNI(register_android_graphics_MaskFilter),
+            REG_JNI(register_android_graphics_Matrix),
+            REG_JNI(register_android_graphics_Movie),
+            REG_JNI(register_android_graphics_NinePatch),
+            REG_JNI(register_android_graphics_Paint),
+            REG_JNI(register_android_graphics_Path),
+            REG_JNI(register_android_graphics_PathIterator),
+            REG_JNI(register_android_graphics_PathMeasure),
+            REG_JNI(register_android_graphics_PathEffect),
+            REG_JNI(register_android_graphics_Picture),
+            REG_JNI(register_android_graphics_Region),
+            REG_JNI(register_android_graphics_Shader),
+            REG_JNI(register_android_graphics_RenderEffect),
+            REG_JNI(register_android_graphics_TextureLayer),
+            REG_JNI(register_android_graphics_Typeface),
+            REG_JNI(register_android_graphics_YuvImage),
+            REG_JNI(register_android_graphics_animation_NativeInterpolatorFactory),
+            REG_JNI(register_android_graphics_animation_RenderNodeAnimator),
+            REG_JNI(register_android_graphics_drawable_AnimatedVectorDrawable),
+            REG_JNI(register_android_graphics_drawable_VectorDrawable),
+            REG_JNI(register_android_graphics_fonts_Font),
+            REG_JNI(register_android_graphics_fonts_FontFamily),
+            REG_JNI(register_android_graphics_pdf_PdfDocument),
+            REG_JNI(register_android_graphics_pdf_PdfEditor),
+            REG_JNI(register_android_graphics_pdf_PdfRenderer),
+            REG_JNI(register_android_graphics_text_MeasuredText),
+            REG_JNI(register_android_graphics_text_LineBreaker),
+            REG_JNI(register_android_graphics_text_TextShaper),
 
-    REG_JNI(register_android_util_PathParser),
-    REG_JNI(register_android_view_RenderNode),
-    REG_JNI(register_android_view_DisplayListCanvas),
-    REG_JNI(register_android_view_ThreadedRenderer),
-};
+            REG_JNI(register_android_util_PathParser),
+            REG_JNI(register_android_view_RenderNode),
+            REG_JNI(register_android_view_DisplayListCanvas),
+            REG_JNI(register_android_view_ThreadedRenderer),
+    };
 
 } // namespace android
 
