Android studio 编译报错
2020-02-14 本文已影响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