ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(MainActivity.this));
22 Unable to find the layout for Action Bar. Consider updating to a more recent version of appcompat, or switch the rendering library in the IDE down to API 21
下载android 21放到platforms里面就可以
23 Can't create handler inside thread that has not called Looper.prepare()
没有在主线程里面创建Handler
应该加上
//初始化Looper对象
Looper.prepare();
handler1=new Handler(){
@Overide
public void handleMessge(Message msg){
}
};
//启动Looper
Looper.loop();
24 java.lang.NullPointerException
at com.example.administrator.view.MainActivity$1.handleMessage(MainActivity.java:41)
原来是我自己R.id.img 搞错了 应该是R.id.imageView
25、Target device: xiaomi-mi_2-1fd295bc
Uploading file
local path: E:\android-client\build\outputs\apk\android-client-arm-debug.apk
remote path: /data/local/tmp/com.hztcl.quickshopping.ui
Installing com.hztcl.quickshopping.ui
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.hztcl.quickshopping.ui"
pkg: /data/local/tmp/com.hztcl.quickshopping.ui
Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]
从新启动手机
26、Android gradle build时出现Duplicate resources错误
项目由eclipse转到Android studio时, 在eclipse中编译正常, 用gradle编译出出现Duplicate resources报错, 项目中有部分字符串资源存在重复定义, 能不能在不删除重复定义文件的情况下, 使gradle能正常编译不报错
27 android6.0 PullToRefreshWebView中的FloatMath.floor()不能用了如何替换
Android6.0使用 Math.floor 代替 FloatMath.floor 即可;
28 Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_60\bin\java.exe'' finished with non-zero exit value 2
(1)如果是初搭环境,运行失败。可能是安装包路径有空格的原因。
(2)如果以前运行项目正常,楼主标红部分,我不知道问题出在哪。但只看问题标题的话,有的是因为项目路径为汉字的问题(我今天就遇到了,把项目换个全英文的路径就可以了)
删掉v4包就行了 有相同包了,注意finished这句话,删除包,
如果还不行的话加上multiDex的配置
defaultConfig {
applicationId "com.kuyu.kuxianghui"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
}
就是下面的这段代码结局我的问题
multiDexEnabled true
29java.lang.IllegalArgumentException: Wrong arguments were passed to displayImage() method (ImageView reference must not be null)
一看到这个错误,头脑里面第一条件反射就是参数传错了,但是我的确传了URL和imageView ,url有值,但是imageView那肯定没有值,原来我只把imageView定义了,没有初始化,没有findviewById(R.id.imageView);下次要记得
30 org.json.JSONException: End of input at character 0 of
10-23 21:28:11.288 7528-7528/com.kuyu.kuxianghui I/treeMapToString﹕ 199cf7bdf2dd4ea0da93cb53558e79a7
10-23 21:28:11.288 7528-7528/com.kuyu.kuxianghui D/MD5Util﹕ BAC23EF0AEDF28F7D4CE38A9D620A75D
10-23 21:28:11.298 7528-7528/com.kuyu.kuxianghui I/postUrl﹕ http://10.68.5.30/api/distributorCall?jsonParam={"sign":"BAC23EF0AEDF28F7D4CE38A9D620A75D","map":{},"openType":"getCaptcha"}
10-23 21:28:11.298 7528-7528/com.kuyu.kuxianghui I/kuxianghui﹕ url:http://10.68.5.30/api/distributorCall?jsonParam={"sign":"BAC23EF0AEDF28F7D4CE38A9D620A75D","map":{},"openType":"getCaptcha"}
10-23 21:28:11.318 7528-10533/com.kuyu.kuxianghui I/kuxianghui﹕ post Params:{jsonParam={"sign":"BAC23EF0AEDF28F7D4CE38A9D620A75D","map":{},"openType":"getCaptcha"}}
10-23 21:28:11.338 7528-7528/com.kuyu.kuxianghui I/errorMessage﹕ org.json.JSONException: End of input at character 0 of
31
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)
at com.android.dx.command.dexer.Main.main(Main.java:245)
UNEXPECTED TOP-LEVEL EXCEPTION:
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.Main.main(Main.java:106)
at com.android.dx.command.dexer.Main.run(Main.java:277)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_60\bin\java.exe'' finished with non-zero exit value 2
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
com.android.dex.DexException: Multiple dex files define Lcom/tencent/a/a/a/a/a;
解决办法
defaultConfig {
applicationId "com.kuyu.kuxianghui"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
}
就是下面这行代码起到了作用,惊叹吧
multiDexEnabled true
32
res\drawable-mdpi-v4\guide_1.png:0: error: Resource entry guide_1 is already defined.
res\drawable-mdpi-v4\guide_1.jpg:0: Originally defined here.
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Android\sdk\build-tools\23.0.0\aapt.exe'' finished with non-zero exit value 1
解决办法
build ->clean project
33
为什么
Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT)
没反应
我插,我在最后忘记写.show()了,妈的,下次一定要记得,忘记了要打死自己。
34、
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
原来是我写的
Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show()
没有放在ui线程里面,所以出现这个异常,用handler去处理然后再调用就可以。
35、java.net.SocketTimeoutException: Read timed out
原因:客户端没有在限定的时间内将数据发送给服务器,服务器为了保证服务性能,认定那个连接已经失效,所以出现上述异常。
解决办法:增大客户端的超时时间。
System.setProperty("sun.net.client.defaultConnectTimeout", String
.valueOf(10000));// (单位:毫秒)
System.setProperty("sun.net.client.defaultReadTimeout", String
.valueOf(10000)); // (单位:毫秒)
36、android:showAsAction="never"在as里面的menu.xml里面不可以用
解决办法:改成 app:showAsAction="never"就可以了
37、当我们把github里面的模块拷贝到项目的时候,发现那个导入的包 前面是白色 后面是红色 ,一直找不到原因,后来终于找到了
解决办法:
在app build.gradle里面忘记添加 compile project(':mplib')
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile project(':mplib')
}
38、
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Users\Think\AppData\Local\Android\sdk\build-tools\23.0.0\aapt.exe'' finished with non-zero exit value 1
39、
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{43557be8 8101:com.kuyu.kuyucontact/u0a81} (pid=8101, uid=10081) requires android.permission.CALL_PHONE
分析原因:
由于我的应用要拨打电话,所以需要配置相应的权限信息
解决办法:
需要在(功能清单文件中)AndroiManifest.xml Application外添加
40、今天程序报了这个异常
Unable to start activity ComponentInfo{com.kuyu.kuyucontact/com.kuyu.kuyucontact.ui.UserInfoActivity}: java.lang.NullPointerException
空指针啊,没有拿到数据,我还以为是我的bundle出了问题,妈的,原来findViewById(R.id.tv_name),tv_name 这个id在其它地方命名了,所以才会出现
Unable to start activity {.ui.UserInfoActivity}这个异常啊,麻痹的,以后切记。
41
have you declared this activity in your AndroidManifest.xml
没有注册Activity
42
duplicate registration for activity
重复注册了Activity,认真检查哪个地方已经注册了
43
android.view.InflateException: Binary XML file line #13: Error inflating class com.wingsofts.simplelinechart.SimpleLineChart
自定义的时候,上面那个包名写错了
44
用eclipse 开发 android应用时出现个错误,“your project contains error(s),please fix them before running your application”
解决办法:
使用eclipse写好Android的代码,代码没有报错。想在AVD中运行测试时,总是会弹出错误框,提示信息为:
“Your project contains error(s),please fix them before running your application.”
不管是重启AVD 重启eclipse 甚至创建一个新的Android工程项目都不能运行
上网查找原因,有几种可能:
1.在不同的电脑下开发,而且文件存放路径不同,错误的主要原因是 “.classpath” 文件的载三方类库包路径错误。
2.也可能是你的SDK版本不存在或者没有。
3.编译的class、apk文件有问题:执行清除一下就可以了。Project→Clean→Clena Projects Selected Below 选择你出错的项目就可以了。
4.有可能就是最重要的这一点:
在Program提示框中会提示:
“Error generating final archive: Debug Certificate expired on 12-7-25 下午7:52”
原因分析:
android要求所有的程序必须有签名,否则就不会安装该程序。在我们开发过程中,adt使用debug keystore,在 preference->android->buid中设置。debug的keystore默认有效期为一年,如果你是从一年前开始完android程序,那么在一年后导入这个app的时候很可能出现debug keystore过期,导致你无法生成apk文件。
此时你只要删除debug keystore就行,系统又会为你生成有效期为一年的私钥。
解决方法:
进入C:\Documents and Settings\Administrator\.android 删除路径下的debug.keystore及ddms.cfg。
(不同环境下的目录可能略有不同,可在eclipse中查找此路径:Window->Preferences->Android->Build下 Default debug keystore)
我出错的原因是第4种,我直接删除了.android 文件,成功解决问题
45
[2016-02-20 09:38:37 - aWork] Unable to resolve target 'android-22'
解决办法:
出现 “Unable to resolve target 'android-XX'”,解决办法进入你的android project跟目录,找到此文件 project.properties(或default.properties),找到target=android-XX出现此错是因为你的android环境跟此处不对应,那么,你只需要将此处的android版本改成你机器上配置的android版本即可,例如target=android-15
进入activity类中,一些重写的方法的地方总是出现 "Remove @Overrideannotation",解决办法:出现此错误的原因主要是 编译器 版本的 的问题,Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.6已经扩展到对接口的方法;所以如果还是以Java 1.5的编译器来编译的话,会出现错误,默认是java1.5的,你需要将它设置到1.6打开你的eclipse,进入 window->Preferences->Java->Compiler 把它改为 Java1.6即可
46 把项目导入eclipse出现乱码问题
解决办法:
1.编码不对
a.对某文件或某工程更改编码:
鼠标移到工程名或文件名,右键->Properties->Resource->Text file enCoding ->更改编码(GBK、UTF-8等)->Apply->OK退出
b.修改整个命名空间的编码
eclipse菜单栏->Window->Preferences(preferences一般就是修改各种eclipse设置的地方)->General->Workspace->text file encoding ->更改编码(GBK、UTF-8等)->Apply->OK退出
c.修改某个特定类型的文件(如xml文件、java文件类型)的编码(不会受命名空间编码的影响)
eclipse菜单栏->Window->Preferences->General->Content types->在右视图中选在文件类型->在Default enCoding中选择语言->Update->Ok退出
注意:若下拉菜单栏里面没有你要的语言类型,可以自己用键盘打一个进去。如果没有改语言类型,eclipse自然会报错,没有报错就说明可以用改语言类型。
2.maven的问题
eclipse菜单栏->Window->Preferences->Maven->Installations->User Settings->导入maven的settings.xml文件->Refresh
但是目前maven为什么会导致乱码不知道- -
3.两个工程不同编码方式放到一个工作空间里面有可能会有冲突。可以尝试着别放到一个工作空间里面看看可不可以解决问题
47、[2016-02-20 17:13:44 - aWork] ERROR: Application requires API version 21. Device API version is 16 (Android 4.1.1).
[2016-02-20 17:13:44 - aWork] Launch canceled!
解决办法:
原因是应用程序的版本跟模拟器的版本不一致导致的。
解决方法:修改两个配置文件
1:在AndroidManifest.xml里,
2:在default.properties里target=android-14把target改为要运行模拟器的版本就OK了。
48 Failed to install*.apk on device '': timeout
解决办法:
前提:
1.adb shell是没问题,排除数据线
2.eclipse的ddms中是有设备的
3.模拟器安装N个程序是没问题的,排除程序问题
自己找到解决方法:
1.替换数据线
2.去掉延长线
3.修改windows-per-android-DDMS 5000改为10000,50000
4.工程文件clean
5.因为使用的是真机,所以不存在删掉C盘中的某些*.lock文件夹
天调试android,突然报了这个错误,很是郁闷,
意思是:把程序安装到设备失败,超时了。
研究无果,一阵搜索,最后可以通过设置eclipse解决问题,
如下设置
在window->preferences->Android->DDMS->ADB connection time out (ms):
设置这一项,把值设高一些 我设置了1000000
49 adb logcat -v threadtime > xxx.log
C盘-》用户-》C里面
50 The connection to adb is down,a severe error
解决办法:adb kill-server
adb -startserver
51 判断游标是否为空
SQLite中的Cursor千万不能使用Cursor == null 来判断是否为空,即便Cursor中什么记录都没有,他也不会是空(已测试)。
判断是否为空的方法是 Cursor.getCount()这么一个简单的函数,如果是0,表示Cursor为空;如果非0,则表示Cursor不为空。
51 我们用SimpleDateFormat 需要注意的问题
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日hh:mm");表示是12小时制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm");表示是24小时制
52 在相对布局里面 如果要把一个控件放在另一个控件的左边 记得使用 android:layout_toLeftOf="@+id/scan_code_image"
53 android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 5
自己写游标的时候,明明需要循环便利游标,而我没有加上循环,所以就出现了这个问题
if(cursor != null) {
// 循环遍历cursor
while (cursor.moveToNext()) {
}
53 android.app.application cannot be case to package.ShotApplication
错在 AndroidManifest.xml里面
android:name ="com.wang.capurescreen.ShotApplication"
我没有写name,所以错了,要记得加上
54 今天运行代码的时候出现了missingFormatArgumentException异常
原因:
使用string.format("aaa%d, dsaa,""%d",a)
很明显多了一个d%.
匹配不正确 。
55 java.net.socketimeoutexception
设置超市时间短了,settimeout时间久点就可以了
56 stException: com.example.dexclassloaderactivity.MyApplication cannot be cast to android.app.Activity
原因:我把在Android配置文件里面application里面的声明改到了activity里买去了,下次不要犯这个错误,写了applicaiion一定要记得写配置切记。