我已经建立了一个非常简单的项目来测试Robolectric + Data Binding + Retrolambda的集成。当我运行测试服时,我会收到以下消息:
Error:(30, 30) Gradle: error: cannot access AndroidHttpClient
class file for android.net.http.AndroidHttpClient not found这很奇怪,因为我在任何地方都不使用AndroidHttpClient。
错误发生在这里,在“活动”行上:
@Before
public void setup() {
activity = Robolectric.setupActivity(MainActivity.class); // Error on this line
textView = (TextView) shadowOf(activity).findViewById(R.id.textView);
button = (Button) activity.findViewById(R.id.button);
editText = (EditText) activity.findViewById(R.id.editText);
}该程序从不使用AndroidHttpClient。事实上,这就是整个计划:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
binding.setUser(new User());
binding.button.setOnClickListener((v) -> {
binding.textView.setText(String.format("Hello, %s!", binding.editText.getText()));
binding.editText.setText("");
});
}关于什么问题的想法?
发布于 2015-10-01 10:12:39
发布于 2015-10-02 22:56:53
我刚刚在我的测试源中添加了假类android.net.http.AndroidHttpClient。它暂时解决了这个问题。等待Robolectric被更新
发布于 2015-09-25 07:13:45
明显的问题和解决办法:
在APILevel23中,AndroidHttpClient被从SDK中删除,而Robolectric被设置为使用SDK 21运行测试:
AndroidHttpClient was removed from the SDK in API Level 23https://stackoverflow.com/questions/32759529
复制相似问题