




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】android项目从Eclipse迁移到Androidstudio中常见问题解决方法
(1)将Eclipse项目导入到Androidstudio中出现9-patchimage问题解决方法:在build.gradle里添加以下两句:用来关闭AndroidStudio的PNG合法性检查的,直接不让它检查。(2)AndroidStudio错误:非法字符:‘\ufeff'解决方案|错误:需要class,interface或enum原因:
Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,AndroidStudio还没有这个功能,所以使用AndroidStudio编译UTF-8+BOM编码的文件时会出现”非法字符:‘\ufeff'“之类的错误
解决方法:
手动将UTF-8+BOM编码的文件转为普通的UTF-8文件用EdItPlus打开.java文件依次:文档》文本编辑》转换文本编码》选择UTF-8编码即可
(3)将项目导入到AS中出现以下问题:解决方法:
在build.grade中添加以下代码:(4)未知错误以上是错误提示。
解决方案
解决的思路很简单只需要把perties.lock文件删除了就可以了。当时我们删除的时候会被占用这时候需要进入任务管理器结束关于java的进程就行比如java的jdk删除后重启让javajdk启动启动AndroidStudio就能启动APK了。
(5)修改了Android项目的最小SDK版本之后出现很多stysle文件找不到解决方案compileSdkVersion是多少版本的那么compile‘com.android.support:appcompat-v7:23.2.1'就是啥版本的。(6)Androidstudio编译问题:finishedwithnon-zeroexitvalue2问题:解决方案
这个错误在app的build.gradle里面添加下面这句就好了。(7)Androidstudio编译问题:finishedwithnon-zeroexitvalue1(由于导入的依赖出现重复造成的)问题:解决方案
这个是因为依赖包重复了(像v4和nineoldandroids),app中实现了对easeUI的依赖,但是app和easeUI都添加了对这个包的依赖。所以就报这个错误,修改之后再报,就clean,rebuild一下。(8)问题解决方案
这个是在我们启动的时候报错的,而不是在编译的时候,原因是这样的,报这个错是因为有2个库中存在相同的类。大家可以看到stackoverflow上有人也提了这样的问题。只需要删除其中的一个就可以解决了。
(9)添加第三方依赖出现的问题错误原因
出现这个错误的原因是我引入的第三方库最低支持版本高于我的项目的最低支持版本,异常中的信息显示:我的项目的最低支持版本为14,而第三方库的最低支持版本为19,所以抛出了这个异常。
解决方案
在AndroidManifest.xml文件中标签中添加其中的xxx.xxx.xxx为第三方库包名,如果存在多个库有此异常,则用逗号分割它们,例如:这样做是为了项目中的AndroidManifest.xml和第三方库的AndroidManifest.xml合并时可以忽略最低版本限制。(10)Androidstudio编译问题:finishedwithnon-zeroexitvalue1(由于buildtools版本太高造成的)错误错误原因
buildToolsVersion版本太高,我原来的buildToolsVersion“24.0.0”需要jdk1.8,而我的是jdk1.7,所以一直报这个错,刚开始以为是v4包和V7包冲突,因为之前遇到这样的问题,而这次删除V4包之后依然报这个错,把buildTools版本降下来就好了。解决方案(11)Androidstudio编译问题:GradleDSLnotfound‘android()'问题
clipboard.png解决方案
配置build.gradle:配置app/build.gradle:最后再同步一下sync即可。(13)Glide使用问题:使用Glide加载圆角图片,第一次显示占位图问题描述
最近在项目中使用Glide加载圆形图片,并且设置placehloder和error两个占位图,运行发现,第一次加载图片只显示占位图,需要第二次进入的时候才会正常显示。
如果你刚好使用了这个圆形Imageview库或者其他的一些自定义的圆形Imageview,而你又刚好设置了占位的话,那么,你就会遇到第一个问题。如何解决呢?
方案一
不设置占位图推荐方案二
使用Glide的TransformationAPI自定义圆形Bitmap的转换使用方法:方案三重写Glide的图片加载监听方法,具体如下:注意事项:该方法在listview上复用有问题的bug,如果在listview中加载CircleImageView,请不要使用该方法。方案四:不使用Glide的默认动画:(14)json数据解析问题:json串头部出现字符:”\ufeff”解决方法异常信息解析服务器返回的json格式数据时,我们可能会发现,数据格式上是没有问题的,但是仔细对比会发现,在json串头部发现字符:”\ufeff”客户端解决方案:服务器端解决方案:将输出此json的php源码重新用editplus之类用utf-8无BOM的编码保存。不要用windows系统自带的记事本编辑php源码,这个BOM就是记事本这些windows自带的编辑器引入的。(15)Androidstudio编译问题:notfoundndk()问题解决方案出现该问题,可能是由于ndk配置在build.gradle配置文件中位置弄错导致的(16)Androidstudio导入其他的项目:UnsupportedMethodException问题解决方案将根目录中的build.gradle文件中的gradle版本号,出现错误之前,我的是1.3.0,修改成2.2.0之后重新编译一下就可以运行了。将这个版本号改成你其他项目能够运行成功的版本号即可(17)Androidstudio更新到2.1.1之后使用CollapsingToolbarLayout出现ErrorinflatingclassCollapsingToolbarLayout之前在项目中使用了CollapsingToolbarLayout,效果还是可以的,但是Androidstuido更新到2.1.1版本之后出现ErrorinflatingclassCollapsingToolbarLayout异常崩溃异常信息如下所示:解决方案在项目的build.gradle文件中添加下面一行,同步一下即可(18)Androidstudiogradle编译异常很显然是class版本不支持。经查询,AndroidStudio2.2必须使用JDK8及以上版本,而且是强制的。所以呢,赶紧下了个JDK8最新版的。安装完毕,把JAVA_HOME指向了JDK8,实测JDK7和8是可以共存的。那么,重启AndroidStudio后问题解决,BuildSuccessful!(19)recycleview嵌套列表项显示不全问题解决方案:第一个RecyclerView的Adapter(即父RecyclerView):第二个RecyclerView的Adapter(即子RecyclerView):(20)Android手机真机调试,日志不打印的解决方案:1、在拨号界面输入:*#*#2846579#*#*进入测试菜单界面。
2、ProjectMenu–后台设置–LOG设置
3、LOG开关–LOG打开LOG级别设置–VERBOSE
4、Dump&Log–全部选中
5、重启手机
(21)java.lang.IndexOutOfBoundsExceptionInconsistencydetected.Invaliditemposition2(offset:2).state:4解决方案:Recyclerview在下拉刷新时,如果在数据没更新到之前将listclear之后,迅速滑动会造成crash,所以一般在下拉刷新之前,等数据刷新回来再把之前的数据进行清除。(22)使用友盟分享——微信、朋友圈分享出现java.lang.NoClassDefFoundError:org.apache.http.entity.mime.MultipartEntity解决方案:造成这样的原因是因为缺少httpmime_jar,添加是httpmime_jar包之后即可正常分享(23)Fragment中调用getActivity()出现空指针异常解决方案:
对于上面的问题,可以考虑下面这两种解决办法:
1、不保存fragment的状态:在MyActivity中重写onSaveInstanceState方法,将super.onSaveInstanceState(outState);注释掉,让其不再保存Fragment的状态,达到fragment随MyActivity一起销毁的目的。
2、重建时清除已经保存的fragment的状态:在恢复Fragment之前把Bundle里面的fragment状态数据给清除。方法如下:
(24)RecyclerView嵌套使用切换页面出现自动滚动问题原因:造成这样的原因是由于子RecyclerView抢占焦点导致的,如果你去查看RecyclerView的源码会发现,它会在构造方法中调用setFocusableInTouchMode(true),所以,设为false可以解决这个问题。解决方案在子RecyclerView中调用如下方法(25)Android7.0设备拍照闪退问题原因:Android7.0做了一些系统权限更改,为了提高私有文件的安全性,面向Android7.0或更高版本的应用私有目录被限制访问,此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。而此权限更改有多重副作用,其中之一就是当传递软件包网域外的file://URI可能给接收器留下无法访问的路径。因此,尝试传递file://URI会触发FileUriExposedException。分享私有文件内容的推荐方法是使用FileProvider。在应用间共享文件对于面向Android7.0的应用,Android框架执行的StrictModeAPI政策禁止在您的应用外部公开file://URI。如果一项包含文件URI的intent离开您的应用,则应用出现故障,并出现FileUriExposedException异常。要在应用间共享文件,应发送一项content://URI,并授予URI临时访问权限。进行此授权的最简单方式是使用FileProvider类。点击查看Android官方说明解决方案1.在清单文件添加如下代码android:authorities="com.alex.demo.FileProvider"自定义的权限
android:exported="false"是否设置为独立进程
android:grantUriPermissions="true"是否拥有共享文件的临时权限
android:resource="@xml/external_storage_root"共享文件的文件根目录,名字可以自定义
2.在xml文件夹目录下新建provider_paths文件,名字自定义,添加如下代码3.调用系统相机处代码处理
(26)ProcessException:Returncode1fordexprocess问题实际原因还是Appsover64kmethod,解决方案:https://developer.A/intl/zh-cn/tools/building/multidex.html方案1:使用插件化框架比如:/singwhatiwanna/dynamic-load-apk方案2:分割Dex主要说说Dex分割1、开发环境是eclipse时的解决方案:在perties中添加一行dex.disable.merger=true2、AndroidStudio在app的build.gradle中(1)在depen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 郫县电梯加装施工方案
- 2025届湖南省张家界市名校中考生物五模试卷含解析
- 出售广东渔船合同范例
- 专题01 声现象(3大模块知识清单+3个易混易错+2种方法技巧+典例真题精析)-2025年中考地理一轮复习知识清单
- 单位共有房屋买卖合同范例
- 多媒体教学计划
- 眼科手术患者护理
- 员工福利的改进与落实计划
- 环保与可持续发展计划
- 班主任的班级学习目标计划
- 卷扬机验收表格
- TensorFlow+Keras深度学习人工智能实践应用
- 自驱型成长:如何培养孩子的自律力
- 谈心谈话记录100条范文(6篇)
- 物联网设备管理平台项目实施服务方案
- 机械加工厂安全生产和环境保护应急预案
- (完整word版)A3试卷模板
- 2023年福建省中考英语听力试题(试题卷+音频+录音原文)
- 公司的JMP软件培训教程
- 筑基功法精选
- 欧洲电力市场深度报告:欧洲电力市场供需格局和电价分析
评论
0/150
提交评论