使 Android 库中的 class 只能从测试代码访问

Make a class in Android library accessible only from test code

我即将发布我的第一个 Android 库。作为该库的一部分,我提供 "smart" test double 类 以便于进行单元测试。

目前我只是将测试替身与产品打包在一起 类。但是,很丑,感觉对用户不友好。

如何将 类 添加到 Android 库中,客户端将只能在测试代码中使用?

你不能真正强制执行。我会把双打放在一个单独的命名空间中("test" 或 "test helpers" 或类似的东西)。如果你这样做并相应地命名 类("ThingMock" 或 "ThingTestDouble"),那么如果他们将它们用于生产代码,那真的是开发人员的错。