导致失败的Git子模块[INSTALL_FAILED_OLDER_SDK] Android sdk 21

时间:2014-11-02 17:46:10

标签: android git android-studio android-gradle git-submodules

我正在开发一款应用并试图使用新材料设计,即sdk 21版。 我让一切工作正常,然后想要使用this library在工厂(浮动动作按钮)。

我使用

将此库添加为子模块
git submodule add https://github.com/shamanland/floating-action-button

在C:\ Users \ USER \ AndroidStudioProjects \ ProjectName

我的文件结构如此

ProjectName
    app
    floating-action-button

问题 在一切都很好之前,我能够构建并运行该项目。 但是,自从添加此子模块以来,在尝试运行它时,我收到了错误

Failure [INSTALL_FAILED_OLDER_SDK]

所以我认为它与子模块有关,但我不确定如何。

应用/的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.2'

    defaultConfig {
        applicationId "com.mayuonline.ribbit"
        minSdkVersion 21
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:21.+'
    compile 'com.android.support:cardview-v7:+'
    compile 'com.android.support:recyclerview-v7:+'
    compile 'com.android.support:palette-v7:+'
}

应用/ AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="resume.kelseyhrubes">

    <uses-sdk tools:node="replace" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

F-A-B /的build.gradle

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'
        classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.0'
        classpath 'org.robolectric:robolectric-gradle-plugin:0.11.0'
    }
}

def isSnapshot() {
    return VERSION_NAME.contains('SNAPSHOT')
}

def gradleMvnPush = new File(buildDir, 'gradle-mvn-push.gradle')
if (!gradleMvnPush.exists()) {
    buildDir.mkdirs()
    ant.get(src: GRADLE_MVN_PUSH, dest: gradleMvnPush)
}

setProperty('GRADLE_MVN_PUSH', gradleMvnPush)

subprojects {
    group GROUP
    version VERSION_NAME

    apply plugin: 'android-sdk-manager'

    if (name.startsWith('lib')) {
        apply plugin: 'com.android.library'
    } else {
        apply plugin: 'com.android.application'
    }

    android {
        compileSdkVersion COMPILE_SDK_VERSION as int
        buildToolsVersion BUILD_TOOLS_VERSION

        defaultConfig {
            minSdkVersion MIN_SDK_VERSION as int
            targetSdkVersion TARGET_SDK_VERSION as int
            versionCode 1
            versionName '1.0'

            // workaround for https://code.google.com/p/android/issues/detail?id=52962
            buildConfigField 'boolean', 'SNAPSHOT', isSnapshot().toString()
        }

        lintOptions {
            abortOnError false
        }
    }

    repositories {
        mavenLocal()
        mavenCentral()
    }

    if (isSnapshot()) {
        apply plugin: 'robolectric'

        dependencies {
            // NOTE workaround for sdkmanager plugin
            compile 'com.android.support:support-v4:19.0.1'

            androidTestCompile 'junit:junit:4.10'
            androidTestCompile 'org.robolectric:robolectric:2.3'
            androidTestCompile 'com.squareup:fest-android:1.0.8'
        }
    }
}

f-a-b / AndroidManifest.xml(这可能是一个线索,我(试图)加粗Android Studio变红的区域

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=" **http://schemas.android.com/apk/res/android** "
          package="com.shamanland.fab.example">

    <application
        android:name=" **.ExampleApplication**  "
        android:label="@string/app_name"
        **android:icon** ="@drawable/ic_launcher"
        **android:theme** ="@style/AppTheme"
        **android:allowBackup** ="true"
        >
        <activity android:name=".ExampleListActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=" **.ExampleDetailsActivity** "/>
    </application>
</manifest>

我有一个强烈怀疑该子模块添加错误。

我真正想要的是在我的应用程序中使用fab,如果有人可以帮我弄清楚可能有什么问题,添加子模块,或者我的build.gradle,我真的很感激!!

1 个答案:

答案 0 :(得分:0)

此错误通常是由将使用“compileSdkVersion n”构建的APK部署到API级别小于“n”的设备或模拟器引起的。您的模拟器是否处于正确的API级别?