BUG汇总 1

1.Unsupported Modules Detected: Compilation is not supported for following modules

问题描述: 在程序界面的右上角提示没法编辑程序java

解决办法: File -> Invalidate Caches / Restart -> Invalidate Caches & Restart.python


2.Gradle sync failed: Connection timed out: connect Consult IDE log for more details (Help | Show Log)

问题描述: 向AS 导入某个project以后,在运行某个module时出现以下错误,致使没法运行:android

打开Messages提示:sql

这说明系统尝试下载gradle-3.3-all.zip但失败。数据库

解决办法:bash

打开AS的project视图,从根目录gradle->wrapper->gradle wrapper.properities中,找到distributionUrl值,如图,这说明须要gradle-3.3-all.zip,而且以前系统也提示须要下载它。app

下载网址:https://services.gradle.org/distributions/gradle-3.3-all.zip(依据具体状况下载须要的gradle,好比须要grade3.2,则下载网址是https://services.gradle.org/distributions/gradle-3.2-all.zip),下载完成后直接把gradle-3.3-all.zip拖到该路径下:/Users/<用户名>/.gradle/wrapper/dists/gradle-3.3-all/<...>/。函数

从新运行便可。gradle


3.Building gradle project info...(一直)

问题描述: 向AS 导入某个project时,一直卡在这里,仍是gradle的问题。ui

解决办法: 第一种解决办法可参考上个问题,第二种办法是修改该project的gradle-wrapper.properties里的gradle版本为本身电脑已有的版本。好比已有gradle-3.3-all.zip,那么只需将最后一行替换掉:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip。
复制代码

从新启动便可。


4.Error:(1, 0) Plugin with id 'com.example.application' not found.

问题描述: 导入project时报错找不到com.android.application插件,这极可能是开发人员在上传代码时直接把module的整个文件夹丟上去,缺失project里面的build脚本,致使下载者出现上述错误现象。

解决办法: 修改module下的build.gradle,在文件最后贴上红框内这段代码,最后try again,就导入成功了:

即如下代码:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        //注意:更换成本身的AS的版本,好比这里是2.2.3版本
    }
}
allprojects {
    repositories {
        jcenter()
    }
}
复制代码

5.'C:\Users\minmin\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary

问题描述: 编译项目开启模拟器的时候出现问题,提示“adb程序开启失败”,引起缘由是adb程序的端口被占用。

解决办法: 打开任务管理器将占用端口的程序kill掉。步骤为:

step1: 经过cmd查看占用adb端口的程序,adb默认端口为5037,所以查询代码为:

netstat -aon|findstr "5037"
复制代码

step2:经过以上查询可知adb端口号被6404占用了,接下来继续经过cmd查询6404端口对应的程序,查询代码为:

tasklist|findstr "6404"
复制代码

step3:经过以上查询可知是360手机助手程序占用了端口,而后打开任务管理器找到对应的程序kill掉,从新打开编译器便可。

题外话: 还遇到一种特殊状况,最后发现是adb.exe占用。此时能够尝试从新启动AS,先点击“运行”出现对话框后,而后再链接真机,顺序必定不要反。


6.android.view.InflateException: Binary XML file line #6: Error inflating class com.examp...

问题描述: 在引入自定义View时报错,排除是引入类名的错误(正确写法是包名.类名 )以后,极可能是构造函数的问题。

解决办法: 在自定义一个View时,派生实现基类View有三个构造函数:View(Context context) 、View(Context context, AttributeSet attrs)和View(Context context, AttributeSet attrs, int defStyle)。其中第二个和第三个构造函数对于XML引用方式是必须实现的,所以补全构造函数便可。


7. adapter调用notifyDataSetChanged()但失效

问题描述: 极可能是由于数据源又指向了一个新的引用,而adapter只关心原地址所指向的数据有没有改变。

解决办法: 先调用clear()方法清空数据源dataList,再调用addAll()方法添加新的数据。


8.Error:android.database.sqlite.SQLiteException: table Memo has no column named year (code 1):while compiling: INSERT INTO user(...) VALUES (?,?,?,?,?,?,?,?,?,?)

问题描述: 数据库错误:添加数据时找不到该表的某一字段

解决办法: 检查字段后是否用逗号“,”分开;检查赋值和取值时全部字段是否一致;检查赋值和取值时所用字段是否和表字段一致;若是更改表字段了,检查是否有对数据库进行从新卸载安装或者升级。


9.Error:java.lang.ArrayIndexOutOfBoundsException: length=2; index=3

问题描述: 自定义一个BaseAdapter子类适配器时引起的问题,这里定义了两个type的item,在重写getItemViewType()方法里返回相对应的两种类型item的int值,但type的int值是从3开始。

解决办法: 将type值分别改成0,1便可解决。

修改前

修改后


10. java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

问题描述: 该类继承的是v7兼容包里的AppCompatActivity,却使用了非兼容包里的主题"@android:style/Theme.NoTitleBar.Fullscreen"或”@android:style/Theme.Black.NoTitleBar”,故致使程序崩溃。

解决办法: 改成继承Activity


集齐十个可召唤神龙哦~ END

相关文章
相关标签/搜索