问题
Steps I did
- Downloaded Runner JAR and Client JAR from Square
- Copied
spoon-client-1.1.2.jar
to the libs folder, right click --> Add As Library... wrote a simple dummy test:
public MainActivityTest() { super(MainActivity.class); } public void test() { Spoon.screenshot(getActivity(), "initial_state"); }
Ran MainActivity
Ran MainActivityTest (Tests passed)
Copied
app-debug.apk
andapp-debug-androidTest-unaligned.apk
from the project to the same folder as thespoon-runner-1.1.2-jar-with-dependencies.jar
CMD -> switched to the folder where I put the three files
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?
回答1:
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
回答2:
Try setting the PATH environment variable for java.
In windows is somethink like this:
PATH = PATH + "C:\Program Files\Java\jdk1.6.0_24"
Then restart ADT and SDK Manager.exe
Try to check what is the jdk you use in ADT. Go to Project -> Properties ->Java Compiler
回答3:
The path for android sdk is C:\Users\myUser\AppData\Local\Android\Sdk but, it cannot be selected because... The folder AppData and its contence is in hidden attribute.. thus you need first need to remove tick from hidden checkbox
来源:https://stackoverflow.com/questions/28881411/sdk-path-not-specified