【发布时间】:2014-06-10 15:46:54
【问题描述】:
我使用Android-Release Archetype 创建了一个非常基本的 Android-Maven 项目。我更改的一件事是将 Android 项目设置为 Android 库。这意味着我没有定义活动的 AndroidManifest。 Maven 构建仍然适用于 HelloAndroidActivity 和 HelloAndroidActivityTest,但即使复制这两个类也会使新测试失败:
无法解析以下活动:Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=org.acme.project.android/.HelloAndroidActivity2}
我搜索了整个工作区,但找不到任何对 HelloAndroidActivity 的引用,这可以解释为什么它适用于该活动但不适用于该活动。所以我想我有两个问题:为什么集成测试适用于任何清单文件中未引用的活动?为什么它不适用于此活动的相同副本?
我认为这并不重要,但这些是我的AndroidManifests:
图书馆项目:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.acme.project.android"
android:versionCode="1"
android:versionName="1.0-SNAPSHOT" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
</manifest>
集成测试项目:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.acme.project.android.test"
android:versionCode="1"
android:versionName="1.0-SNAPSHOT" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application>
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="org.acme.project.android" />
</manifest>
没有改变我今天得到的东西:
[2014-06-09 08:39:47 - org.acme.project.android.it] 测试运行失败:由于“java.lang.ClassNotFoundException”,检测运行失败
根本没有额外的信息,甚至没有缺少哪个类。
【问题讨论】:
标签: android