-
Notifications
You must be signed in to change notification settings - Fork 84
常见问题与异常自查
乱 edited this page Aug 22, 2019
·
1 revision
Error:Execution failed for task ':app:processInternalDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 16 declared in library [XXX]
Suggestion: use tools:overrideLibrary="XXX" to force usage
解决:
在AndroidManifest.xml文件中添加
<uses-sdk tools:overrideLibrary="XXX" />
其中的xxx.xxx.xxx为第三方库包名,如果存在多个库有此异常,则用逗号分割它们
<uses-sdk tools:overrideLibrary="XXX,XXX" />
这样做是为了项目中的AndroidManifest.xml和第三方库的AndroidManifest.xml合并时可以忽略最低版本限制
Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@label value=(@string/app_name) from AndroidManifest.xml:16:9-41
is also present at [:sdk] AndroidManifest.xml:27:9-28 value=(sdk).
Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:13:5-57:19 to override.
app的AndroidManifest中增加配置
<application
tools:replace="android:label">
</application>
Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ...\app\build\intermediates\transforms\dexBuilder\debug\0,
...\app\build\intermediates\transforms\dexBuilder\debug\1, ...\app\build\intermediates\transforms\externalLibsDexMerger\debug\0, ...\app\build\intermediates\transforms\dexBuilder\debug\3.jar, ...\app\build\intermediates\transforms\dexBuilder\debug\4.jar
在app的build.gradle中加入
defaultConfig {
multiDexEnabled true
}
Could not copy file '...\sdk\build\intermediates\symbols\release\R.txt' to '
解决: 删除build文件夹,继续打包
- 如果sdk需要混淆,在robust.xml中配置
<proguard>true</proguard>
在sdk的build中配置
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
且需要把lib-proguard-rules.pro中的配置复制一下到proguard-rules.pro中的配置复制一下到proguard-rules
-
如果sdk不需要混淆,则在robust.xml中配置
<proguard>false</proguard>
在sdk的build中配置
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Execution failed for task ':sdk:transformResourcesWithMergeJavaResForRelease'.
> Unexpected scopes found in folder
'...sdk\build\intermediates\transforms\mergeJavaRes\release'. Required: PROJECT. Found: EXTERNAL_LIBRARIES, PROJECT, SUB_PROJECTS
解决: 删除 sdk module下的 build 目录,重新upload即可
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':sdk:transformResourcesWithMergeJavaResForRelease'.
> Unexpected scopes found in folder '...\sdk\build\intermediates\transforms\mergeJavaRes\release'. Required: PROJECT. Found: EXTERNAL_LIBRARIES, PROJECT, SUB_PROJECTS
删除 sdk module下的 build 目录