Android项目中无法解析Assert符号及JUnit库引入问题求助
解决Android项目中Cannot resolve symbol 'Assert'的问题
这个问题我之前在Android项目里也碰到过,核心原因要么是缺少对应的测试库依赖,要么是在错误的代码目录里用了测试专用的Assert类,分两种场景来解决:
场景1:在单元测试代码中使用Assert
如果你的这段代码是放在**src/test/java/**目录下的单元测试代码里,那问题就是缺少JUnit库的依赖,只需要在app/build.gradle(Module级别的gradle文件)中添加JUnit4的依赖:
dependencies { // 可以换成最新的JUnit4版本,比如4.13.2 testImplementation 'junit:junit:4.13.2' }
添加完成后,点击Android Studio右上角的"Sync Project with Gradle Files"按钮同步依赖,之后就能正常导入org.junit.Assert了。
场景2:在主应用代码中使用Assert
如果你的这段代码是放在**src/main/java/**目录下的主应用代码里,那千万不要用JUnit的org.junit.Assert——因为JUnit是测试专用库,不应该打包进正式的应用代码里。
这时候你可以直接使用Android SDK自带的android.util.Assert类,它不需要额外添加依赖,直接替换导入语句即可:
import android.util.Assert; // 原代码逻辑可以保持不变 if (BuildConfig.DEBUG) Assert.assertEquals("dev", routeparts[3]);
而且android.util.Assert在release编译时会被自动移除(不会占用应用体积),正好和你用BuildConfig.DEBUG包裹调试断言的逻辑完美匹配。
内容的提问来源于stack exchange,提问作者Hasan Kucuk
相关产品推荐
相关产品推荐

