美文网首页
Android studio 编译报错

Android studio 编译报错

作者: 狠狠狠努力的疯子 | 来源:发表于2020-02-14 16:30 被阅读0次

1.问题一:

AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{}],"original":"AAPT: W/ziparchive(10643): Zip: bad offsets (dir 37221899, size 713971, eocd 37935861)\nerror: failed to open APK: Invalid offset.\n\n ","tool":"AAPT"}

FAILURE: Build failed with an exception.

* What went wrong:

Execution failed for task ':app:processRomallDebugResources'.

> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

  > Android resource linking failed

    AAPT: W/ziparchive(10643): Zip: bad offsets (dir 37221899, size 713971, eocd 37935861)

    error: failed to open APK: Invalid offset.

问题原因:

项目的资源报错了.

解决方法

在项目的更目录下的build.gradle中加入这段,可以把报错的资源显示出现,然后逐个去解决.

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

2.问题二:

添加系统android.jar有可能出现这个错误;
Execution failed for task ':app:mergeExtDexDebug' 65535
查考这个issues

解决方法

在Module 的 build.gradle中添加这些内容

android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

3.问题三:

方法超了 65536

解决方法

在Module 的 build.gradle中添加这些内容

android {
    ...
    defaultConfig {
        ...
        multiDexEnabled true
    }
}
...
dependencies { 
    ...
    compile 'com.android.support:multidex:1.0.1'
 } 

自定义Application并继承MultiDexApplication;
但是如果已经继承了Application,那么也可以通过重写attachBaseContext(Context base)方法

@Override   
protected void attachBaseContext(Context base) {  
    super.attachBaseContext(base);
    MultiDex.install(this);  
}

最后在AndroidManifest.xml里把application改成引用自定义的Application

相关文章

网友评论

      本文标题:Android studio 编译报错

      本文链接:https://www.haomeiwen.com/subject/gxsywctx.html