Can't convert to dimension type=0x1 解决方案

具体异常

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.trill.trillapp/com.trill.trillapp.activities.TrillDetailArticle}: 
java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1

更具体细节的异常栈我就找不出来了(因为我已经修复好了并且不能复现了哈哈哈哈),只能在网上找了一个类似的。

问题细节

  1. 使用的Mac版的Android Studio 3.x(具体忘记了);
  2. 在工作的时候莫名其妙地出现了这个0x01问题;
  3. 视图将上周能正常允许的分支拉下来重新编译安装,崩溃;
  4. 使用其他手机编译安装,崩溃;
  5. 使用其他电脑编译安装,正常;
  6. 使用gradle的clean操作,崩溃;
  7. 删除build目录下的所有文件重新编译,崩溃;
  8. 将activity的继承从AppCompatActivity该为Activity,正常
  9. 将acitivity的布局文件的dimen引用改为直接数字,无效

分析

分析异常栈,发现toolBar等关键字眼,结合到8、9考虑,初步认为是系统在初始化activity的actionBar的时候,传入了一个无效或者非法的id,导致问题出现。于是初步将问题定位到sdk或者是ide上,准备尝试重新安装ide与sdk,在安装前更新了一下Android Studio,问题解决,具体原因未知。

解决方案与建议

  1. 如果你在使用的Mac版的Android Studio 3.0;
  2. 如果相同的代码,只在你的电脑上编译有问题;
  3. 如果你将activity的继承改为AppCompatActivity,或者将activity的theme改为无actionBar以后不崩溃;
  4. 建议更新Android Studio或者sdk;
  5. 如果更新以后问题依旧,建议重新安装Android Studio;

写在最后

写下这篇博客的主要目的是,当是我遇到这个问题的时候,上网找了半天的解决方案,都没能解决,可能是这个问题比较少见,也有可能有人遇到了同样的问题,但是是没有分享出来。但是无论如何,其实我想说的是,如果大家都有多一点的分享思想,那么这个由我们开发者组成的泛联盟将会变得更加美好。
最后,如果这篇文章能帮到你,这会是我的荣幸。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,866评论 25 708
  • Day 6 翻译: 1. 请记住这道题的答案。 2.昨天我收到我的朋友的来信。 3.他长得很像他爸爸。 4.那个男...
    f5f58b032a3c阅读 235评论 0 0
  • 第一次,与人发生感情,在即将要离别时,心里万般不舍,不争气的眼泪不知不觉的留下来了。 躺下后,回味着她的娇小美容,...
    紫燕南飞阅读 187评论 0 0