[Android开发] Android Studio问题以及解决记录

 

http://blog.csdn.net/niubitianping/article/details/51400721

1、真机运行报错Multi dex requires Build Tools 21.0.0 / Current: 19.1

解决:

在项目 build.gradle 里面把classpath ‘com.android.tools.build:gradle:1.5.0’ 改为1.5.0 或者1.3.0

2、导入第三方包运行报错:前言不允许有内容

解决

一般是包的位置错误,请放到main目录下的libs 文件夹里面,再右键 add as library

3、运行错误: finished with non-zero exit valule 2

1. 包冲突

例如可能你v7支持包,v4支持包都有这个类,一编译就冲突了,或者你complie了包,然后又手动add as library了,或者重复add了,等等。 (反正我出现这个问题几乎都是包冲突)

2. 其他错误

这个一般会有错误提示,在编译的日志上面,例如图片不正确,看看是不是重新添加了图片,然后在Android studio 里面双击打开这个图片看看 是否能正常打开,打不开就重新保存一下格式(这个情况一般是出现在自己一个搞项目时候乱搞图片会出现的问题)

4、编译错误 Gradle DSL method not found: ‘apt()’

解决

1、在项目的gradle的dependencies里面添加

classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'

2、在你这个module的gradle里面的头部添加

apply plugin: 'android-apt'

重新编译解决

5、Failed to resolve: org.hamcrest:hamcrest-core:1.3

解决:

打开as 的Setting,gradle路径下的offline work 勾选,路径改为gradle解压之后的文件夹,gradle可以自己上网下载http://services.gradle.org/distributions

6、打包时候报错 Error: Expected resource of type styleable [ResourceType]

一般位于这里:

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();
}
。。。。。。

即可解决

7、混淆后打包报错: java.io.IOException: The same input jar [D:\Users\workspace_studio\Test5\app\libs\xxxxxxx.jar] is specified twice

原因: 
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 ,前面用#号注释或者直接删掉即可。

8、打包时候报错Suspicious method call; should probably call “layout” rather than”onLayout”:

Suspicious method call; should probably call "layout
" rather than"onLayout"

解决:

在调用onLayout的方法 上加

@SuppressLint("WrongCall")
  • 1

9、编译的时候报错:Error running app:Instant Run requires ‘Tools|Android|Enable ADB integration’ to be enabled

解决:

开启adb, 菜单Tools—-Android——Enable ADB Integration

10、R 文件报错,无法取消引用int


原因:

自动导入了其他的R文件包,例如百度地图的R文件包

解决:

把其他R文件的包删掉,添加自己的包名的R文件。

11、Gradle sync failed: Unable to load class ‘org.gradle.internal.logging.LoggingManagerInternal’

gradle版本和android-maven-gradle-plugin 版本不协调

解决: 
如果你的gradle用的是2.1.2 ,你要把android-maven-gradle-plugin改为1.3

11、导入ADT项目报错There are unrecoverable errors which must be corrected first

看android Studio的信息,说appcompat_v7_12 could not found,所以就是这个问题了。

把eclipse的project根目录project.properties里面的android.library.reference.1=../appcompat_v7删掉,再重新导入AndroidStudio就行了

12、打印的Log显示不全

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);
}
}

13、导入微信demo错误:Error:java.lang.RuntimeException:Some file crunching failed,see logs for details

在build.gradle的andoid里面添加

aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

14、断开手机连接,远程主机强迫关闭了一个现有的连接


1. miui系统关闭usb安装管理,运行安装未知来源。 
2. 重写拔插手机 
3. 电脑换个插口 
4. 换根数据线

15、Failed to open zip file.

Gradle’s dependency cache may be corrupt(this sometimes ocurs after a network connection timeout.) 

我是搞了svn才出现的问题。

解决方法: 
设置gradle

1. 设置本地gradle

把gradle压缩包解压出来,放随便一个盘,在as里面设置 

2. 搭建本地的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

16、No cached version of com.android.tools.build:gradle:2.2.3 available for offl

更新了AS之后出现的问题,更新AS,对应的gradle也得更新了,但是如果你使用的是之前的离线的GRadle就会出现这样的问题了。

解决方法

File – Setting – Gradle – 取消勾选Offine work,选择回默认的gradle wrapper

17、Error converting bytecode to dex:Cause:com.android.dex.DexEcception:Multiple dex files define….

原因1: 重复导包 
原因2: buildToolsVersion和compileSdkVersion的版本不对

解决: 对应上面的原因修改即可,本人的原因是因为第二个。

18、Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection Possible causes for this unexpected error include:Gradle’s dependency…

原因: gradle的版本不对。

解决: 把project的build.gralde的版本改为你的AndroidStudio的版本号,例如我是2.3.0版本的,就得把gradle版本改为2.3.0,然后重新sync即可。看图 

然后重新构建,出现下面的问题,就点第一个update即可。 

19、Error while Installing APK,安装app失败,远程主机强迫关闭了一个现有的链接

解决: 打开任务管理器,把adb进程给关掉就行了

Android开发-Android Studio问题以及解决记录的更多相关文章

  1. Android开发遇到的异常及解决办法

    Android开发遇到的错误及解决方法1. Unable to resolve target 'android-7' 解决方案: 修改工程目录下的default.properties文件里的内容tar ...

  2. Android开发——Android多进程以及使用场景介绍

    个层级,具体可以查看Android开发--Android进程保活招式大全中1.1部分的内容,这里就不赘述了. 根据进程中当前活动组件的重要程度,Android 会将进程评定为它可能达到的最高级别.例如 ...

  3. Android开发——Android M(6.0) 权限解决方案

    Android开发--Android M(6.0) 权限解决方案 自从Android M(6.0)发布以来,权限管理相比以前有了很大的改变,很多程序员发现之前运行的好好的Android应用在Andro ...

  4. Android开发中常见问题分析及解决

    最近公司有新的业务需求,需要开发一款APP,因为我开发过Android APP(我想告诉他们,那是4年前的事了,嘤嘤嘤),就把开发任务交给我了,当然也不是我一个人啦,让我组开发小组,说白了,就是让我来 ...

  5. Qt for Android开发Android应用时的各种错误汇总(此片博文不成熟,请大家略过)

    “Qt for Android真的很脆弱,项目能跑起来靠的是奇迹,跑不起来,各种报错才是正常...” 问题一:Qt for Android编译不过:make (e=2): 系统找不到指定的文件. 之前 ...

  6. android开发——Android开发中的47个小知识

    1.判断sd卡是否存在  boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environme ...

  7. Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇

    第一篇 介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用. 开发第一应用 可以开发属于自己的应用,是否有点 ...

  8. Android开发——Android手机屏幕适配方案总结

    )密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转 ...

  9. Android开发——Android的消息机制详解

    )子线程默认是没有Looper的,Handler创建前,必须手动创建,否则会报错.通过Looper.prepare()即可为当前线程创建一个Looper,并通过Looper.loop()来开启消息循环 ...

随机推荐

  1. 满汉全席[2-SAT]

    题面 对不起我又写了一个板题qvq 和洛谷那道模板题没区别...两样菜至少做一样即可 不过注意define和函数的区别!!! #include <cmath> #include <c ...

  2. BZOJ2616PERIODNI

    题目描述 给定一个N列的表格,每列的高度各不相同,但底部对齐,然后向表格中填入K个相同的数,填写时要求不能有两个数在同一列,或同一行,下图中b是错误的填写,a是正确的填写,因为两个a虽然在同一行,但它 ...

  3. mysql慢查询日志按天切割归纳

    问题描述: mysql开启慢查询功能,再正常不过,那么存在这样一种情况:慢查询写入的文件位置和文件名是指定好的,如果慢查询时间设定严苛,不出意外,记录慢查询的单个文件大小会日益增大,几十兆或者上百兆, ...

  4. Logstash替换字符串,解析json数据,修改数据类型,获取日志时间

    在某些情况下,有些日志文本文件类json,但它的是单引号,具体格式如下,我们需要根据下列日志数据,获取正确的字段和字段类型 {'usdCnyRate': '6.728', 'futureIndex': ...

  5. 使用Eclipse创建动态的web工程

    使用Eclipse创建动态的web工程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.修改工作区的编码 1>.点击Window选择Preferences 2>.将默 ...

  6. 查找命令which、whereis、locate

      1.find 最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: $ find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子 ...

  7. win10自带邮箱添加网易企业邮箱

    开始-邮件-账户-添加账户-高级安装程序-internet电子邮件-然后输入网易企业邮箱的用户名和相关服务器设置就行了 接收服务器 pop.qiye.163.com发送服务器 smtp.qiye.16 ...

  8. PCA,到底在做什么

    很久以前写过一篇 PCA 的小白教程,不过由于当时对 PCA 的理解流于表面,所以只是介绍了一下 PCA 的算法流程.今天在数图课上偶然听到 PCA 在图像压缩上的应用,突然明白了一点实质性的东西,这 ...

  9. sql server的sysobjects表中xtype字段值的含义

    xtype字段包含的值的意思如下: AF = Aggregate function (CLR) 聚合函数(CLR)  C = CHECK constraint CHECK约束  D = Default ...

  10. 推荐一款中国风React组件

    最近看这个中国风的组件在掘金也火了一段时间,看了有几天了,也体验了下,感觉还不错,所以准备来安利下 项目地址:https://github.com/zhui-team/zhui 使用手册请参考:htt ...