为什么调用 StaticLayout.Builder 会抛出异常 java.lang.NoClassDefFoundError?

Why does calling StaticLayout.Builder throw the exception java.lang.NoClassDefFoundError?

Android M 更改了 StaticLayout 的设置器,取而代之的是 Builder 模式。但是使用以下代码:

StaticLayout staticLayout = StaticLayout.Builder.obtain("Hello", 0, "Hello".length(), getTextPaint(), 100).build();

我得到以下异常:

Process: sharpdevs.com.legalapp, PID: 7695 java.lang.NoClassDefFoundError: Failed resolution of: Landroid/text/StaticLayout$Builder;

我已经尝试了所有方法,这可能是 Android 错误还是我缺少支持库依赖项?

看来这个问题已经在评论中解决了,所以将其添加为实际答案...

StaticLayout.Builder was added in API 23, so trying to run it on an earlier API will cause an exception. You can use the standard StaticLayout 早期 API 版本的构造函数。