相关疑难解决方法(0)

适用于Gradle instrumentTest的AndroidManifest.xml

有没有办法AndroidManifest.xml为gradle测试应用程序指定其他文件?我需要它来为我的单元测试指定其他权限和活动.

UPD: 我试图instrumnetTestbuild.gradle文件中添加部分,但它没有帮助,我仍然得到Unable to resolve activity for: Intent错误

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
    instrumentTest {
        manifest.srcFile 'src/instrumentTest/AndroidManifest.xml'
        java.srcDir 'src/instrumentTest/Java'
    }
}
Run Code Online (Sandbox Code Playgroud)

java android gradle

14
推荐指数
2
解决办法
4348
查看次数

Android:如何使用比库中声明的更低的minSdkVersion(uiautomator-v18)

我将较旧的Android应用迁移到Android-Studio/Gradle.测试需求uiautomator-v18需要minSdkVersion=18.但是,我希望将minSdkVersion设置为15或16.

SO在同一件事上有很多问题,但我无法解决这个问题.

Exerpt AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.searcher"
    android:versionCode="1"
    android:versionName="0.0.1" >

    <uses-sdk
        tools:overrideLibrary="android.support.test.uiautomator.v18"/>

    <!-- ... -->

</manifest>
Run Code Online (Sandbox Code Playgroud)

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.searcher"
        minSdkVersion 15
        targetSdkVersion 23
        testApplicationId "com.example.searcher.test"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.google.android.gms:play-services-analytics:8.4.0'
    compile files('libs/dagger-1.2.1.jar')
    compile files('libs/dagger-compiler-1.2.1.jar')
    compile files('libs/javawriter-2.1.2.jar')
    compile files('libs/javax.inject.jar')

    androidTestCompile(
        'com.android.support:support-annotations:23.2.0',
        'com.android.support.test:runner:0.4.1',
        'com.android.support.test:rules:0.4.1',
        'com.android.support.test.uiautomator:uiautomator-v18:2.1.1',
        'org.hamcrest:hamcrest-library:1.3',
        'org.mockito:mockito-core:1.10.5',
        'junit:junit:4.12',
        'com.google.dexmaker:dexmaker:1.1',
        'com.google.dexmaker:dexmaker-mockito:1.1'
    )
}
Run Code Online (Sandbox Code Playgroud)

以上给出了错误:

Error:Execution failed for task ':app:processDebugAndroidTestManifest'.
> …
Run Code Online (Sandbox Code Playgroud)

android build.gradle android-gradle-plugin

9
推荐指数
2
解决办法
8610
查看次数

Androidmanifest 和 build.gradle 中的 minsdk 和 targetsdk 两者?

我刚刚将一个项目从 Exclipse 迁移到了 Android Studio。该build.gradle文件有一个部分,其中包括:

defaultConfig {
    applicationId "com.example.someone.myapplication"
    minSdkVersion 8
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
Run Code Online (Sandbox Code Playgroud)

同样的事情在uses-sdk的元素AndroidManifest.xml

当两种设置同时存在时,哪些设置受到尊重?另外,我应该将它们从AndroidManifest.xml? 我的项目至少必须支持 Api-8。如果uses-sdk从清单文件中删除该部分,它对旧平台有什么影响吗?

eclipse android android-studio

3
推荐指数
1
解决办法
1632
查看次数