*****1.如果某个控件找不到,并且id没有写错,可以试试build的clean
*****2.listView点击item没反应
http://blog.csdn.net/zhufuing/article/details/8677407本质都是ListView的Item抢占焦点或者Item没有获取焦点
<item name="Android:clickable">true</item>,正是这一项导致所有Item都要抢占焦点View.setFocusable(true),对应xml : android:focusable="true". View.setFocusableInTouchMode(true),对应xml : android:focusableInTouchMode="true". beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点 blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”
****3.outofmemory;内存溢出错误 原因:单一对象过大(压缩图片),或者对象太多(及时回收bitmap内存)
android占用内存空间24Mb,超过就容易内存溢出磁盘缓存disk先找内存缓存,再找磁盘缓存,最后网络下载安卓压缩图片原理:根据缩小倍数,减少相邻像素点的个数
*****android.view.InflateException运行时xml文件错误
总结一下xml文件经常容易犯的低级错误:
1. 控件名称不能写错(我上面就属于这种情况)
2.名称的大小写要区分,如EditText与editText是完全不一样的
3.标签一定是成对出现的,尤其是嵌套布局
4.属性前面一般要加android:
5.id比较特殊,应该是@+id ,其它的直接加@即可,如@string6.drawable中引用的图片资源不存在或名称大小写有误
******NativeDaemonConnectorException
看看是不是manifest文件的activity声明错误
*****listView 出现输入框时被遮挡的问题
<!--
解决出现输入法时listview被遮挡的问题 android:fastScrollEnabled="true" android:transcriptMode="normal" android:scrollbarStyle="insideInset" -->
<ListView
android:id="@+id/chat_lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/chat_send"
android:cacheColorHint="#000000"
android:background="@null"
android:divider="@null"
android:fastScrollEnabled="true"
android:transcriptMode="normal"
android:scrollbarStyle="insideInset" />
*****点击出现控件,
背景发生变化android:background="?android:attr/selectableItemBackground
"*****相机打开失败,请重新启动设备。
用zxing打开二维码界面时,手机出现的提示信息,Android studio也没有打印出错误。可能是没有开权限<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
******studio运行端口被占用
1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。
2、输入netstat -ano | findstr "5037" 。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字
3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID
4、查找第2步中看到的数字PID,然后结束相关进程,即可
2、解决办法二:
情况描述:
重新插拔手机,Android Studio无法连接手机,显示手机处于离线状态,而豌豆荚软件显示已经连接上了手机
解决:
退出豌豆荚重新插拔手机,或者重新打开开发者模式
******edittext与scroview滑动冲突解决
import android.view.View.OnTouchListener;
@Override
public boolean onTouch(View view, MotionEvent event) {
//触摸的是EditText并且当前EditText可以滚动则将事件交给EditText处理;否则将事件交由其父类处理
int id = view.getId();
int isScro = -1;
switch (id) {
case R.id.et_iworkToday:
if (CommUtil.canVerticalScroll(etToday)) {
isScro = 0;
}
break;
default:
break;
}
if (isScro == 0) {
view.getParent().requestDisallowInterceptTouchEvent(true);
if (event.getAction() == MotionEvent.ACTION_UP) {
view.getParent().requestDisallowInterceptTouchEvent(false);
}
}
return false;
}
public static boolean canVerticalScroll(EditText editText) {
//滚动的距离
int scrollY = editText.getScrollY();
//控件内容的总高度
int scrollRange = editText.getLayout().getHeight();
//控件实际显示的高度
int scrollExtent = editText.getHeight() - editText.getCompoundPaddingTop() -editText.getCompoundPaddingBottom();
//控件内容总高度与实际显示高度的差值
int scrollDifference = scrollRange - scrollExtent;
if(scrollDifference == 0) {
return false;
}
return (scrollY > 0) || (scrollY < scrollDifference - 1);
}
******studio连不上夜神模拟器的问题
(1)运行夜神模拟器,
(2)打开命令行窗口,
(3)打开到夜神安装目录(如cd D:\Program Files\NOX\Nox\bin),
(4)执行命令:nox_adb.exe connect 127.0.0.1:62001,连接模拟器,
(5)若Android Studio连接不上夜神,重启模拟器即可。
4、这时在Android Studio窗口上点击run 'app'(或shift+F10)
******安卓studio连接不上天天模拟器的解决方法
打开studio控制台--------找到Terminal--------输入sdk/platform-tools所在位置:
连接adb: adb connect 127.0.0.1:6555
**********Error:Execution failed for task ':app:buildInfoDebugLoader'.
Error:Execution failed for task ':app:buildInfoDebugLoader'.
> Exception while doing past iteration backup : Source /home/ruiqin/AndroidStudioProjects/DouTuGaoShou/app/build/intermediates/builds/debug/5818437215551/classes.dex and destination /home/ruiqin/AndroidStudioProjects/DouTuGaoShou/app/build/intermediates/builds/debug/5818437215551/classes.dex must be different
在网上搜索后找到解决办法,那就是重新加载工程。
点击菜单栏Build--->RebuildProject
重新加载一下,再点击运行,就搞定了!
************ Android studio 启动模拟器时解决 VT-x is disabled in BIOS的问题
如果在安装过程中出现Intel virtualization technology (vt,vt-x) is not enabled的错误,需要进入的电脑的BIOS中修改,重启电脑,进入BIOS页面(一般在开机时按Del或F2,根据电脑不同,进入方式不同),找到Advanced Mode –> Advanced –> CPU Configuration –> Intel Virtual Technology设置为Enabled(表示开启虚拟化)就可以了。
*********** Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication 解决办法
*********** 打包混淆错误
app的 build.gradle android下
lintOptions {
abortOnErrorfalse
checkReleaseBuildsfalse// 防止在发布的时候出现因MissingTranslation导致Build Failed!
disable'MissingTranslation' }
原因好像是项目在打包的时候进行检查,而我们的项目如果存在不适当地操作的时候就无法通过,当然也就打包失败了,而这样的解决方法就是忽略掉这些检查。
另一种错误
Warning: okio.DeflaterSink: can't find referenced class org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
********************* Android studio 导入安卓项目时报错 Gradle's dependency cache may be corrupt (this sometimes occurs after a net
项目导入后会报以下错误:
Error:Failed to open zip file.
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
<a href="syncProject">Re-download dependencies and sync project (requires network)</a>
解决办法:
项目视图切换到project,找到gradle下面的wrapper,里面有一个gradle-wrapper.properties文件,打开后修改以下位置:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
例如:修改为(具体修改成哪个版本,可以参照此环境下之前项目)
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
***************************android studio debug模式切换为relese模式
- 在Android studio左侧边栏点开Build Variants
- 找到对应的Module,将它的Build Variant从debug改成release
- 在project栏右键选中的Module,打开Open Module Settings
- 在signing栏中填入release对应的配置信息release config,在Build Types的Debuggable设为false(关於release config 主要填写config Name 、release key 以及psw等信息,store file需要自己的jks文件路径),完成後点OK保存
- 编译後即可产生release apk