SDK Path not specified

momo picture momo · Mar 5, 2015 · Viewed 13k times · Source

Steps I did

  1. Downloaded Runner JAR and Client JAR from Square
  2. Copied spoon-client-1.1.2.jar to the libs folder, right click --> Add As Library...
  3. wrote a simple dummy test:

    public MainActivityTest() {
        super(MainActivity.class);
    }
    
    public void test() {
        Spoon.screenshot(getActivity(), "initial_state");
    }
    
  4. Ran MainActivity

  5. Ran MainActivityTest (Tests passed)

  6. Copied app-debug.apk and app-debug-androidTest-unaligned.apk from the project to the same folder as the spoon-runner-1.1.2-jar-with-dependencies.jar

  7. CMD -> switched to the folder where I put the three files

  8. Executed java -jar spoon-runner-1.1.2-jar-with-dependencies.jar --apk app-debug.apk --test-apk app-debug-androidTest-unaligned.apk


Output: Exception in thread "main" java.lang.NullPointerException: SDK path not specified. at com.google.common.base.Preconditions.checkNotNull<Preconditions.java:226> at com.squareup.spoon.SpoonRunner$Builder.setAndroidSdk<SpoonRunner.java:228> at com.squareup.spoon.SpoonRunner.main>SpoonRunner.java:437>

The SDK is located in C:\Users\myUser\AppData\Local\Android\Sdk and I can see the path under: File -> Project Structure -> SDK Location (Android Studio)

What went wrong?

Answer

momo picture momo · Mar 9, 2015

There is a problem with the Android SDK path. However specify the path did the trick. The full command looks like:

java -jar spoon-runner-1.1.2-jar-with-dependencies.jar --apk app-debug.apk --test-apk app-debug-androidTest-unaligned.apk --sdk C:\Users\myUser\AppData\Local\Android\sdk