Android培训
美国上市Android培训机构

400-111-8989

热门课程

Android studio使用中遇见的错误,Android studio使用教程

  • 时间:2017-05-03
  • 发布:Android培训
  • 来源:Android教程

*****1.如果某个控件找不到,并且id没有写错,可以试试build的clean

*****2.listView点击item没反应
http://blog.csdn.net/zhufuing/article/details/8677407本质都是ListView的Item抢占焦点或者Item没有获取焦点
<itemname="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打开二维码界面时,手机出现的提示信息,Androidstudio也没有打印出错误。可能是没有开权限<uses-permissionandroid:name="android.permission.CAMERA"/><uses-permissionandroid:name="android.permission.INTERNET"/><uses-permissionandroid:name="android.permission.VIBRATE"/><uses-permissionandroid:name="android.permission.FLASHLIGHT"/>

******studio运行端口被占用
1、CMD命令窗口输入:adbnodaemonserver。然后就会提示你哪个端口被占用了。
2、输入netstat-ano|findstr"5037"。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字
3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID
4、查找第2步中看到的数字PID,然后结束相关进程,即可

2、解决办法二:
情况描述:
重新插拔手机,AndroidStudio无法连接手机,显示手机处于离线状态,而豌豆荚软件显示已经连接上了手机
解决:
退出豌豆荚重新插拔手机,或者重新打开开发者模式

******edittext与scroview滑动冲突解决
importandroid.view.View.OnTouchListener;
@Override
publicbooleanonTouch(Viewview,MotionEventevent){
//触摸的是EditText并且当前EditText可以滚动则将事件交给EditText处理;否则将事件交由其父类处理
intid=view.getId();
intisScro=-1;
switch(id){
caseR.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);
}
}
returnfalse;
}
publicstaticbooleancanVerticalScroll(EditTexteditText){
//滚动的距离
intscrollY=editText.getScrollY();
//控件内容的总高度
intscrollRange=editText.getLayout().getHeight();
//控件实际显示的高度
intscrollExtent=editText.getHeight()-editText.getCompoundPaddingTop()-editText.getCompoundPaddingBottom();
//控件内容总高度与实际显示高度的差值
intscrollDifference=scrollRange-scrollExtent;

if(scrollDifference==0){
returnfalse;
}

return(scrollY>0)||(scrollY<scrollDifference-1);
}

******studio连不上夜神模拟器的问题
(1)运行夜神模拟器,
(2)打开命令行窗口,

(3)打开到夜神安装目录(如cdD:\ProgramFiles\NOX\Nox\bin),

(4)执行命令:nox_adb.execonnect127.0.0.1:62001,连接模拟器,
(5)若AndroidStudio连接不上夜神,重启模拟器即可。
4、这时在AndroidStudio窗口上点击run'app'(或shift+F10)

**********Error:Executionfailedfortask':app:buildInfoDebugLoader'.
Error:Executionfailedfortask':app:buildInfoDebugLoader'.
>Exceptionwhiledoingpastiterationbackup:Source/home/ruiqin/AndroidStudioProjects/DouTuGaoShou/app/build/intermediates/builds/debug/5818437215551/classes.dexanddestination/home/ruiqin/AndroidStudioProjects/DouTuGaoShou/app/build/intermediates/builds/debug/5818437215551/classes.dexmustbedifferent
在网上搜索后找到解决办法,那就是重新加载工程。
点击菜单栏Build--->RebuildProject
重新加载一下,再点击运行,就搞定了!

************Androidstudio启动模拟器时解决VT-xisdisabledinBIOS的问题
http://blog.csdn.net/gqqzxc/article/details/52798791

如果在安装过程中出现Intelvirtualizationtechnology(vt,vt-x)isnotenabled的错误,需要进入的电脑的BIOS中修改,重启电脑,进入BIOS页面(一般在开机时按Del或F2,根据电脑不同,进入方式不同),找到AdvancedMode–>Advanced–>CPUConfiguration–>IntelVirtualTechnology设置为Enabled(表示开启虚拟化)就可以了。

***********Unabletoinstantiateapplicationcom.android.tools.fd.runtime.BootstrapApplication解决办法
http://blog.csdn.net/wuyoutiyu/article/details/52238647
***********打包混淆错误
app的build.gradleandroid下
lintOptions{
abortOnErrorfalse
checkReleaseBuildsfalse//防止在发布的时候出现因MissingTranslation导致BuildFailed!
disable'MissingTranslation'}
原因好像是项目在打包的时候进行检查,而我们的项目如果存在不适当地操作的时候就无法通过,当然也就打包失败了,而这样的解决方法就是忽略掉这些检查。
另一种错误
Warning:okio.DeflaterSink:can'tfindreferencedclassorg.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
http://stackoverflow.com/questions/29886882/android-studio-1-2-rc-proguard-warnings-on-squares-okio-library-reference

*********************Androidstudio导入安卓项目时报错Gradle'sdependencycachemaybecorrupt(thissometimesoccursafteranet
项目导入后会报以下错误:
Error:Failedtoopenzipfile.
Gradle'sdependencycachemaybecorrupt(thissometimesoccursafteranetworkconnectiontimeout.)
<ahref="syncProject">Re-downloaddependenciesandsyncproject(requiresnetwork)</a>
<ahref="syncProject">Re-downloaddependenciesandsyncproject(requiresnetwork)</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

***************************androidstudiodebug模式切换为relese模式

在Androidstudio左侧边栏点开BuildVariants
找到对应的Module,将它的BuildVariant从debug改成release
在project栏右键选中的Module,打开OpenModuleSettings
在signing栏中填入release对应的配置信息releaseconfig,在BuildTypes的Debuggable设为false(关於releaseconfig主要填写configName、releasekey以及psw等信息,storefile需要自己的jks文件路径),完成後点OK保存
编译後即可产生releaseapk
上一篇:Android 应用和Framework层 学习方法和建议
下一篇:Android接入微信支付教程,Android开发微信支付详细步骤

Android 弹性动画的三种实现方式

Android培训教程:Android Gradle高级用法,动态编译技术

Android程序员 那些你不可错过的好书

Android 利用Gradle实现app的环境分离

选择城市和中心
贵州省

广西省

海南省