相关疑难解决方法(0)

当测试的项目在libs目录中有jar时,无法构建和运行使用"ant create test-project"创建的android测试项目

我有一个模块,可以构建一个名为MyApp的应用程序.我有另一个为该应用程序构建一些测试用例,称为MyAppTests.他们都建立自己的APK,他们都在我的IDE中工作正常.我想用ant构建它们,以便我可以利用持续集成.

构建应用程序模块工作正常.我很难让Test模块进行编译和运行.

使用上一个问题中的 Christopher的提示,我曾经android create test-project -p MyAppTests -m ../MyApp -n MyAppTests创建了必要的构建文件来构建和运行我的测试项目.这似乎工作得很好(一旦我删除了为我构造的不必要的测试用例并将我的AndroidManifest.xml恢复到我用它之前使用的那个android create),但我有两个问题.

第一个问题:项目没有编译,因为它缺少库.

$ ant run-tests
Buildfile: build.xml
    [setup] Project Target: Google APIs
    [setup] Vendor: Google Inc.
    [setup] Platform Version: 1.6
    [setup] API level: 4
    [setup] WARNING: No minSdkVersion value set. Application will install on all Android versions.

-install-tested-project:
    [setup] Project Target: Google APIs
    [setup] Vendor: Google Inc.
    [setup] Platform Version: 1.6
    [setup] API level: 4
    [setup] WARNING: No minSdkVersion value set. Application will …
Run Code Online (Sandbox Code Playgroud)

ant android unit-testing

28
推荐指数
4
解决办法
3万
查看次数

使用ant与库项目R18的Android单元测试

我遇到了与此问题相同的问题:使用ant与库项目进行Android单元测试

我尝试了问题中提出的两种方法,但是在Android工具的r18版本中,我得到了:

NTServicesTest/build.xml:110: Reference jar.libs.ref not found. 
Run Code Online (Sandbox Code Playgroud)

我不确定是不是我没有按照原始问题的答案的解决方法的配方,或者如果在Android工具的r18中的某些内容发生了变化.

我的文件夹设置在包含..的proj文件夹中:

NTServices,NTServicesTest,NTServicesTestApp

对于@Snicolas的解决方法,我修改了我的NTServicesTest/project.properties,如下所示:

# Project target.
target=android-15
tested.android.library.reference.1=../NTServices
Run Code Online (Sandbox Code Playgroud)

我的NTServicesTest/build.xml看起来像这样:(从版本标签的右下方)

 <import file="${sdk.dir}/tools/ant/build.xml" />


    <!-- override "compile" target in platform android_rules.xml to include tested app's external libraries -->
 <!-- Compiles this project's .java files into .class files. -->
<target name="-compile" depends="-build-setup, -pre-build, -code-gen, -pre-compile">
<do-only-if-manifest-hasCode elseText="hasCode = false. Skipping...">
    <!-- If android rules are used for a test project, its classpath should include
         tested project's location -->
    <condition property="extensible.classpath"
            value="${tested.project.absolute.dir}/bin/classes"
            else=".">
        <isset property="tested.project.absolute.dir" …
Run Code Online (Sandbox Code Playgroud)

ant android unit-testing

2
推荐指数
1
解决办法
1349
查看次数

标签 统计

android ×2

ant ×2

unit-testing ×2