解决:
在项目 build.gradle 里面把classpath ‘com.android.tools.build:gradle:版本号’ 改为你的AS的版本号,这个是对应的。
解决
一般是包的位置错误,请放到main目录下的libs 文件夹里面,再右键 add as library
例如可能你v7支持包,v4支持包都有这个类,一编译就冲突了,或者你complie了包,然后又手动add as library了,或者重复add了,等等。 (反正我出现这个问题几乎都是包冲突)
这个一般会有错误提示,在编译的日志上面,例如图片不正确,看看是不是重新添加了图片,然后在Android studio 里面双击打开这个图片看看 是否能正常打开,打不开就重新保存一下格式(这个情况一般是出现在自己一个搞项目时候乱搞图片会出现的问题)
解决
1、在项目的gradle的dependencies里面添加
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
2、在你这个module的gradle里面的头部添加
apply plugin: 'android-apt'
重新编译解决
ps: 自从AS3.0之后,不用apt,改为annotationProcessor
解决:
打开as 的Setting,gradle路径下的offline work 勾选,路径改为gradle解压之后的文件夹,gradle可以自己上网下载http://services.gradle.org/distributions
一般位于这里:
TypedArray ta = mContext.obtainStyledAttributes(attrs);
boolean hasBottomLine = ta.getBoolean(0, false);
boolean hasTopLine = ta.getBoolean(1, false);
解决:
在报错的这行代码的 方法体上面加@SuppressWarnings(“ResourceType”)
@SuppressWarnings("ResourceType")
public SystemBarTintManager(Activity activity) {
Window win = activity.getWindow();
ViewGroup decorViewGroup = (ViewGroup) win.getDecorView();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// check theme attrs
int[] attrs = {android.R.attr.windowTranslucentStatus,
android.R.attr.windowTranslucentNavigation};
TypedArray a = activity.obtainStyledAttributes(attrs);
try {
mStatusBarAvailable = a.getBoolean(0, false);
mNavBarAvailable = a.getBoolean(1, false);
} finally {
a.recycle();
}
。。。。。。
即可解决
原因:
build.gradle文件配置了
dependencies { compile fileTree(include: ‘*.jar’, dir: ‘libs’)}
里面已经添加过jar包,混淆文件proguard-rules.pro里面又加了句-libraryjars libs/***.jar,将-libraryjars libs/***.jar
解决:
proguard-rules.pro中的 -libraryjars libs/***.jar ,前面用#号注释或者直接删掉即可。
Suspicious method call; should probably call "layout
" rather than"onLayout"
解决:
在调用onLayout的方法 上加
@SuppressLint("WrongCall")
解决:
开启adb, 菜单Tools----Android------Enable ADB Integration
原因:
自动导入了其他的R文件包,例如百度地图的R文件包
解决:
把其他R文件的包删掉,添加自己的包名的R文件。
gradle版本和android-maven-gradle-plugin 版本不协调
解决:
如果你的gradle用的是2.1.2 ,你要把android-maven-gradle-plugin改为1.3
看android Studio的信息,说appcompat_v7_12 could not found,所以就是这个问题了。
把eclipse的project根目录project.properties里面的android.library.reference.1=…/appcompat_v7删掉,再重新导入AndroidStudio就行了
log输出进行了字符的限制为4000个,解决方法是写一个类采用分段的方法输出log
public static void printAll(String str){
if (str.length() > 4000) {
Log.v(TAG, "sb.length = " + str.length());
int chunkCount = str.length() / 4000; // integer division
for (int i = 0; i <= chunkCount; i++) {
int max = 4000 * (i + 1);
if (max >= str.length()) {
Log.v(TAG, "chunk " + i + " of " + chunkCount + ":" + str.substring(4000 * i));
} else {
Log.v(TAG, "chunk " + i + " of " + chunkCount + ":" + str.substring(4000 * i, max));
}
}
} else {
Log.v(TAG, str);
}
}
在build.gradle的andoid里面添加
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
Gradle’s dependency cache may be corrupt(this sometimes ocurs after a network connection timeout.)
我是搞了svn才出现的问题。
解决方法:
设置gradle
Windows安装iis,然后把gradle的压缩包放iis目录里面,然后在 项目根目录\gradle\wrapper\gradle-wrapper.properties,修改最后的为distributionUrl=http://localhost/xxxxx.zip ,重新构建就o了
例如我的就是
distributionUrl=http://localhost/gradle-2.14.1-all.zip
更新了AS之后出现的问题,更新AS,对应的gradle也得更新了,但是如果你使用的是之前的离线的GRadle就会出现这样的问题了。
解决方法
File – Setting – Gradle – 取消勾选Offine work,选择回默认的gradle wrapper
原因1: 重复导包
原因2: buildToolsVersion和compileSdkVersion的版本不对
解决: 对应上面的原因修改即可,本人的原因是因为第二个。
原因: gradle的版本不对。
解决: 把project的build.gralde的版本改为你的AndroidStudio的版本号,例如我是2.3.0版本的,就得把gradle版本改为2.3.0,然后重新sync即可。看图
解决:
在底部的Terminal中利用命令去构建: gradlew build
打开右边的Gradle -> :app -> build -> build
就有告诉你是哪个文件错误。
因为gradle-wrapper.properties里面的gradle版本太高了,例如3.1.2版本的as对应的是4.4的gradle,所以修改gradle-wrapper.properties里面的distributionUrl为对应版本即可
distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip
module有个x,然后点run弹了个窗,下面提示Please select Android sdk
原因1: sdk问题,把targetsdk 更新到最新就行,例如27
原因2: kotlin版本问题,把kotlin更新到最新就行,例如我本来是1.2.60,更新到1.2.70就行了