AndroidHttpClient nicht gefunden (wenn Robolectric)

Ich habe ein sehr einfaches Projekt zum testen der integration von Robolectric + Data Binding + Retrolambda. Wenn ich den test ausführen, Anzug, bekomme ich folgende Meldung:

Error:(30, 30) Gradle: error: cannot access AndroidHttpClient
class file for android.net.http.AndroidHttpClient not found

Dies ist ziemlich merkwürdig, da ich nicht verwenden AndroidHttpClient überall.


Tritt der Fehler hier auf die "Aktivität" Zeile:

@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);
}

Das Programm nie verwendet AndroidHttpClient. In der Tat, dies ist das gesamte Programm:

@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("");
    });
}

Ideen, was ist falsch?

  • AndroidHttpClient wurde entfernt aus dem SDK-API-Level 23, also, wenn Ihr compileSdkVersion ist 23 oder höher, das würde erklären, warum die Klasse nicht gefunden werden kann. Warum Robolectric zuzugreifen versucht, die Klasse, das kann ich nicht sagen.
  • Dass es behoben! Ich war mit der Ausführung der tests mit: "@Config(Konstanten = BuildConfig.class, sdk = 21)". Danke!
  • Schreiben Sie eine Antwort, damit alle profitieren
InformationsquelleAutor Technocrat | 2015-09-24
Schreibe einen Kommentar