Gradle / Manifest中的更改搞砸了整个应用程序

时间:2014-08-25 20:36:26

标签: android

我的应用程序将于上周末发布,一切正常。该应用程序在3部手机上完美运行,全部运行API 14+。首先,我将展示应用程序预发布的方式:

https://drive.google.com/file/d/0B4-H3L0fyEmZT28wNzlJS1RKeG8/edit?usp=sharing

摇篮:

android {
compileSdkVersion 'android-L'
buildToolsVersion '19.1.0'
defaultConfig {
    minSdkVersion 14
    targetSdkVersion 'android-L'
    versionCode 1
    versionName '1.0'
}
buildTypes {
    release {
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
}

}

在清单中,

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="20"/>

能够置于-application-tag下,而不是直接清单下。它仍然运行得很好。把它放在main -manifest之下会导致错误,完全删除它也会导致错误,所以我们把它留了下来。怪异。


经过几个小时的研究,我将gradle文件更改为以下

compileSdkVersion 20
buildToolsVersion '20.0.0'
defaultConfig {
    minSdkVersion 14
    targetSdkVersion 20
    versionCode 1
    versionName '1.0'
}

并将uses-sdk部分移动到清单中。它跑了,但它看起来并不像它应该看起来。

https://drive.google.com/file/d/0B4-H3L0fyEmZWWIwOEFfVjNkaDA/edit?usp=sharing

我目前正在使用AppCompat Light作为主题。 我花了10个小时+试图想出这个魔法,但什么都没有!到底是怎么回事?

1 个答案:

答案 0 :(得分:0)

如果你正在使用Gradle,{p> <uses-sdk />AndroidManifest.xml中毫无意义。它将完全被忽略。问题是你现在无法发布一个针对android-L的应用程序 - 它是专门为防止此而构建的。

*在某些情况下,它可用于解决冲突,但忽略这些值。