android - 每次重建时,库中的 AppCompat-v7 都会将最低 sdk 版本更改为 7。我怎样才能永久修复它?

标签 android android-studio manifest android-appcompat

我的 Android Studio 项目中有一个库,RevealLayout ,我用它从 FAB 获取扩展动画,如本 post 中所述.

库可以工作,但是我遇到的问题是,每当我在 Gradle 中更改任何内容(例如添加存储库)并重建时,`libs\FabReveal\下的文件 AndroidManifest.xml app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.1.1重新生成,导致android:minSdkVersion`被设置为7。

这会导致构建错误,直到我更改值并重新构建。这一直持续到下次我更改 Gradle 或重新打开 Android Studio 时。

我需要做什么才能永久更改此值?

最佳答案

你做错了什么。

您不能通过修改 intermediates\exploded-aar 文件夹中的值来更改依赖项的 minSdk。 构建和清理项目此文件夹由 gradle 重新创建,然后您将更改任何更改。

在您的项目中,您不能使用低于您的某个依赖项使用的级别的 minSdk 级别。
这意味着如果您使用的是 minSdk=7 的 appcompat 库,则您不能使用级别 <7,但您当然可以使用更高级别。

要做到这一点,请更改您的 build.gradle 文件

   defaultConfig {
        minSdkVersion XX  // >=7 
    }

关于android - 每次重建时,库中的 AppCompat-v7 都会将最低 sdk 版本更改为 7。我怎样才能永久修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34886590/

相关文章:

android - 没有缓存版本的 com.android.tools.build :gradle:3. 3 可用于离线模式

android-studio - Android Studio Flutter 工具提示未显示

C++\Win32 API - WC_BUTTON 和 "BUTTON"窗口类之间的差异

android - 从 preferences.xml 开始一个 Activity

scala - 打包方法在 Buildr 中无效

java - 为什么调用新线程在AsyncTask的doInbackground()中不起作用?

Android - 在 Activity 中嵌入 Unity3d 场景 - 需要注销接收器吗?

android - 比特桶 : The requested URL returned error: 402

android - 在模拟器中找不到处理地理 Intent 的 Activity

android - 为什么我不能在 Android Studio 中同时使用这两个测试 Artifact ?