android-doc-错误

应用程序安装异常(-15)

  • 修改gradle.properties
1
2
// 最底部添加
android.injected.testOnly=false

The number of method references in a .dex file cannot exceed 64K.

解决方法:

  • 修改build.gradle
1
2
3
4
5
// 1. dependencies中添加
implementation 'com.android.support:multidex:1.0.3'

// 2. defaultConfig中添加
multiDexEnabled true

Can’t find common super class

Can’t find common super class of [android/content/Context] (with 2 known super classes) and [com/kwad/sdk/api/loader/ResContextThemeWrapperV7]

解决方法:

  • 修改proguard-rules.pro文件
1
2
// 1. 添加指令不做预校验
-dontpreverify

Execution failed for task ‘:app:compileJava’

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:compileJava’

解决方法:

  • android studio 控制台输入 gradlew compileDebugSource –stacktrace -info 进行编译可以查看详细信息
    • 提示: 如果显示command not found 那么看下AndroidStudio生成的gradlew在哪个路径下一般在根目录,然后cd到项目的根目录下然后在上面的命令前面加上 ./ (斜杠前面有个点)即可

com.android.builder.dexing.DexArchiveMergerException

java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: M:\android\android-plane1\frameworks\runtime-src\proj.android-studio\game\build\intermediates\transforms\dexBuilder\feature\release\0.jar, M:\android\android-plane1\frameworks\runtime-src\proj.android-studio\game\build\intermediates\transforms\dexBuilder\feature\release\1.jar The number of method references in a .dex file cannot exceed 64K.

解决方法:

  • 在build.gradle 添加 multiDexEnabled true
    1
    2
    3
    4
    5
    6
    defaultConfig {
    minSdkVersion PROP_MIN_SDK_VERSION
    targetSdkVersion PROP_TARGET_SDK_VERSION
    versionCode 1
    versionName "1.6.6"
    multiDexEnabled true

Cannot resolve symbol

Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用。
多半是因为 Android Studio 之前发生了错误,某些 setting 出了问题。解决方法如下:
点击菜单中的 “File” -> “Invalidate Caches / Restart”,然后点击对话框中的 “Invalidate and Restart”,清空 cache 并且重启。语法就会正确的高亮了。

independent path ‘META-INF/XXX’

More than one file was found with OS independent path ‘META-INF/XXX’

解决方法:
需要在app.gradle文件里面android节点下添加这样的代码

1
2
3
4
5
6
packagingOptions {
exclude 'META-INF/XXX'
exclude 'META-INF/XXX'
exclude 'META-INF/XXX'
exclude 'META-INF/XXX'
}

具体位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
apply plugin: '

android {
compileSdkVersion 26
defaultConfig {
applicationId ""
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

// 这里
packagingOptions {
exclude 'META-INF/XXXX'
}


buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

property ‘manifest’ has @Input annotation used on property of type ‘File’.

1
2
3
4
5
# 解决方法
# 将gradle-wrapper.properties中的gradle版本降级
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
# 修改为
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip