建议:使用 tools:overrideLibrary="android.support.v7.appcompat" 强制使用
Posted
技术标签:
【中文标题】建议:使用 tools:overrideLibrary="android.support.v7.appcompat" 强制使用【英文标题】:Suggestion: use tools:overrideLibrary="android.support.v7.appcompat" to force usage 【发布时间】:2015-09-22 11:22:40 【问题描述】:我从互联网上购买了应用程序(甲虫游戏)以对其进行编辑.. 但是当我运行应用程序时 这个味精出现在我面前
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 9 declared in library /Users/omar/Downloads/BeetleGame1/app/build/intermediates/exploded-aar/com.google.android.gms/play-services/7.5.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="com.google.android.gms.all" to force usage
build.grade(project:beetlegame1)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript
repositories
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:1.2.3'
allprojects
repositories
jcenter()
build.grade(module:app)
apply plugin: 'com.android.application'
android
compileSdkVersion 19
buildToolsVersion "23.0.0 rc2"
defaultConfig
applicationId "com.game"
compileOptions
sourceCompatibility JavaVersion.VERSION_1_5
targetCompatibility JavaVersion.VERSION_1_5
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
dependencies
compile 'com.google.android.gms:play-services:+'
build.grade(module:google-play-services-lib)
configurations.create("default")
artifacts.add("default", file('google-play-services_lib.jar'))
我可以附上下载我有的应用游戏的链接..来看看:)
【问题讨论】:
com.google.android.gms:play-services:X.X+需要在最后加上版本号 解决方案:***.com/a/27310430/717267 【参考方案1】:导入的库 google play services 的 minsdk 指定为 9,而您的目标似乎是低得多的版本。要覆盖它,您需要在 AndroidManifest.xml
文件中添加带有包名的 tools:overrideLibrary
,这将忽略指定的库 minSDK 版本。
<?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="your package name">
<uses-sdk tools:overrideLibrary="com.google.android.gms.all"/>
--------------------------------
--------------------------------
</manifest>
工具:覆盖库标记
一种特殊标记,只能与 uses-sdk 声明一起使用 覆盖导入最低 SDK 版本更新的库 高于该应用程序的最低 SDK 版本。没有这样的标记, 清单合并将失败。标记将允许用户选择 可以导入哪些库而忽略最低 SDK 版本。
【讨论】:
同样的错误,但是当我使用这个代码时<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="22"
tools:overrideLibrary="
com.google.android.gms.all,
com.google.android.gms.ads,
com.google.android.gms.auth,
com.google.android.gms.base,
com.google.android.gms.measurement,
com.google.android.gms,
com.google.android.gms.analytics,
com.google.android.gms.appindexing,
com.google.android.gms.appinvite,
com.google.android.gms.appstate,
com.google.android.gms.cast,
com.google.android.gms.drive,
com.google.android.gms.fitness,
com.google.android.gms.location,
com.google.android.gms.maps,
com.google.android.gms.games,
com.google.android.gms.gcm,
com.google.android.gms.identity,
com.google.android.gms.nearby,
com.google.android.gms.panorama,
com.google.android.gms.plus,
com.google.android.gms.safetynet,
com.google.android.gms.wallet,
com.google.android.gms.wearable" />
【讨论】:
【参考方案3】:您收到此错误是因为您没有在 app
的 build.gradle
文件中声明 minSdkVersion
:
defaultConfig
applicationId "com.game"
minSdkVersion 9
targetSdkVersion 22
compileOptions
sourceCompatibility JavaVersion.VERSION_1_5
targetCompatibility JavaVersion.VERSION_1_5
【讨论】:
“一个大错误”的描述性不足以帮助您解决任何剩余的问题。我认为这个修复确实 删除了这个问题所问的错误,而是从全新的错误开始?如果是这样,这些似乎更适合提出更多问题。【参考方案4】:让 minSdkVersion=9 像图片中一样。 为我工作。
【讨论】:
【参考方案5】:打开 Android Studio -> 打开清单文件
不要忘记在标签之前添加 xmlns:tools="http://schemas.android.com/tools"
<uses-sdk tools:overrideLibrary="com.google.android.gms.all"/>
【讨论】:
【参考方案6】:在 manifest.xml 中使用此代码
<uses-sdk
android:minSdkVersion="10"
android:maxSdkVersion="14"
tools:overrideLibrary="x"/>
【讨论】:
以上是关于建议:使用 tools:overrideLibrary="android.support.v7.appcompat" 强制使用的主要内容,如果未能解决你的问题,请参考以下文章
需要关于 pthread 同步的建议/建议(结合使用条件变量和屏障)
编写高质量代码改善C#程序的157个建议——建议134:有条件地使用前缀