3

我正在使用 maven-android-plugin 来构建我的应用程序,我喜欢它。

让我感到困惑的一件事是它附带的 android sources.jar 文件。如果我在 中检查InstrumentationTestRunnerandroid-1.5_r4-sources.jar选择一个随机示例,它看起来像:

package android.test;
public class InstrumentationTestRunner
  extends android.app.Instrumentation
  implements android.test.TestSuiteProvider
{
public  InstrumentationTestRunner() { throw new RuntimeException("Stub!"); }
public  void onCreate(android.os.Bundle arguments) { throw new RuntimeException("Stub!"); }
protected  android.test.AndroidTestRunner getAndroidTestRunner() { throw new RuntimeException("Stub!"); }
public  void onStart() { throw new RuntimeException("Stub!"); }
public  junit.framework.TestSuite getTestSuite() { throw new RuntimeException("Stub!"); }
public  junit.framework.TestSuite getAllTests() { throw new RuntimeException("Stub!"); }
public  java.lang.ClassLoader getLoader() { throw new RuntimeException("Stub!"); }
public static final java.lang.String REPORT_VALUE_ID = "InstrumentationTestRunner";
public static final java.lang.String REPORT_KEY_NUM_TOTAL = "numtests";
public static final java.lang.String REPORT_KEY_NUM_CURRENT = "current";
public static final java.lang.String REPORT_KEY_NAME_CLASS = "class";
public static final java.lang.String REPORT_KEY_NAME_TEST = "test";
public static final int REPORT_VALUE_RESULT_START = 1;
public static final int REPORT_VALUE_RESULT_OK = 0;
public static final int REPORT_VALUE_RESULT_ERROR = -1;
public static final int REPORT_VALUE_RESULT_FAILURE = -2;
public static final java.lang.String REPORT_KEY_STACK = "stack";
}

这不是很有用,显然不是实际的源代码,看起来像这样

我的 pom 如下所示:

<dependencies>
    ...
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>1.5_r4</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

有没有办法从 maven-android-plugin 获取 ACTUAL android 源代码来帮助调试?

4

1 回答 1

1

有一个项目正在研究这个https://github.com/joakime/android-sdkfido。中央的 android jar 是存根 jar 的原因是我们需要与 sdk 中的实际 jar 相媲美,后者也是存根的。这是允许发布到 google 命名空间下的中心的必要条件。

于 2011-02-14T19:06:57.627 回答