SDK路径未指定。

3

我所做的步骤

  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


输出: 在主线程中出现异常:java.lang.NullPointerException: 未指定SDK路径。位于com.google.common.base.Preconditions.checkNotNull<Preconditions.java:226> com.squareup.spoon.SpoonRunner$Builder.setAndroidSdk<SpoonRunner.java:228> com.squareup.spoon.SpoonRunner.main>SpoonRunner.java:437

SDK位于C:\Users\myUser\AppData\Local\Android\Sdk,我可以在文件 -> 项目结构 -> SDK位置(Android Studio)下看到该路径。

发生了什么问题?

3个回答

4

Android SDK路径存在问题。不过指定正确的路径可以解决问题。完整的命令如下:

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

我能够成功运行Spoon并查看其输出,但测试失败时没有屏幕截图。我没有在仪器测试应用程序中添加spoon-client.jar。如果需要获取屏幕截图,我需要它吗?如果是的话,在哪里添加spoon-client?在Android Studio中添加spoon-client以便进行屏幕截图需要将其包含在您的仪器测试应用程序中。 - Testing Singh

-1
尝试为Java设置PATH环境变量。
在Windows中,类似于以下内容:
PATH = PATH + "C:\Program Files\Java\jdk1.6.0_24"
然后重新启动ADT和SDK Manager.exe。
尝试检查您在ADT中使用的JDK。 转到Project-> Properties-> Java Compiler。

系统环境变量PATH已经设置,还有JAVA_HOME - momo
执行命令“java -version”会返回输出结果:“java version "1.8.0_25"”,这也被定义在项目中(Java编译器1.8)。顺便说一下,我使用Android Studio(IntelliJ)而不是带有ADT插件的Eclipse。 - momo
1
你可以尝试使用Eclipse ADT吗?我的经验仅限于Eclipse IDE。如果你在使用Eclipse时有任何问题,可以告诉我。 - João Marcos
不行,因为Android Studio(IntelliJ)现在是官方的Android IDE(http://developer.android.com/sdk/index.html),而ADT已经不再处于活跃开发状态。 - momo
好的。您已经正确地执行了操作。那么,请尝试查看您的IntelliJ文件夹中是否存在JDK,并将此JDK放入路径变量中。 - João Marcos

-2
Android SDK 的路径是 C:\Users\myUser\AppData\Local\Android\Sdk,但是无法选择,因为文件夹 AppData 及其内容处于隐藏属性状态。因此,您需要先取消隐藏复选框中的勾选。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接