在Android Studio中自定义字体库报错:java.lang.RuntimeException: native typeface cannot be made

本文详细介绍了在Android应用中遇到的“Native Typeface cannot be made”错误,并提供了一个有效的解决方案。通过调整assets文件夹的位置,成功解决了字体加载失败的问题。

1.网上有很多这样的问题,解决的办法有很多,不同的人可能不一样,推荐一个比较详细的解决方案的地方,http://stackoverflow.com/questions/12766930/native-typeface-cannot-be-made-only-for-some-people

自己可以去试试.博主是修改了所建的assets文件的位置后问题得到了解决.

2.代码部分

 private EditText mText;
 mText = (EditText) findViewById(R.id.text);
  // 设置字体test.ttf
 mText.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/test.ttf"));

 Caused by: java.lang.RuntimeException: native typeface cannot be made

3.解决的办法:

 将assets文件夹建立在src/main目录结构中.
`java.lang.RuntimeException: Stub!` 错误通常在 Android 开发中出现,这是因为 Android 的某些(如 `org.json`)在 Android 运行时和开发环境中的实现不同。在 Android 开发环境中,一些类可能只是存根(stub),实际的实现会在 Android 设备或模拟器上运行时才可用。 以下是几种可能的解决方法: #### 方法一:使用其他 JSON 解析 可以使用 Gson 或 Jackson 等第三方 JSON 解析,避免使用 Android 自带的 `org.json` 。 **使用 Gson 示例**: ```java import com.google.gson.Gson; import com.google.gson.JsonObject; public class Main { public static void main(String[] args) { Gson gson = new Gson(); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("key", "value"); String jsonString = gson.toJson(jsonObject); System.out.println(jsonString); } } ``` 要使用 Gson,需要在项目中添加 Gson 依赖。如果是 Maven 项目,在 `pom.xml` 中添加以下依赖: ```xml <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.8</version> </dependency> ``` 如果是 Gradle 项目,在 `build.gradle` 中添加以下依赖: ```groovy implementation 'com.google.code.gson:gson:2.8.8' ``` #### 方法二:确保在 Android 设备或模拟器上运行 如果代码是用于 Android 开发,确保代码在 Android 设备或模拟器上运行,而不是在普通的 Java 开发环境中运行。因为 Android 设备或模拟器上有完整的 `org.json` 实现。 #### 方法三:检查 JUnit 测试环境 如果是在 JUnit 测试中出现这个错误,需要确保测试环境正确配置。JUnit 测试通常在普通的 Java 环境中运行,而不是 Android 环境,可能会导致 `org.json` 的存根错误。可以考虑使用 AndroidJUnitRunner 来运行测试。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值