Android之疑难杂症
主要介绍、解决Android中各种疑难问题。
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
养-乐多
这个作者很懒,什么都没留下…
展开
-
Android 内存泄漏总结
转自:https://github.com/GeniusVJR/LearningNotes/blob/master/Part1/Android/Android%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E6%80%BB%E7%BB%93.md内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就转载 2017-02-09 15:46:58 · 727 阅读 · 0 评论 -
Android Studio2.2 CMAKE高效NDK开发
转自:http://www.it165.net/pro/html/201611/76734.html前言之前,每次需要边写C++代码的时候,我的内心都是拒绝的。1. 它没有代码提示!!!这意味着我们必须自己手动敲出所有的代码,对于一个新手来说,要一个字母都不错且大小写也要正确,甚至要记得住所有的jni函数等,真是太折磨人了…平时写java代码的时候都是写几个字母会出来一大堆提示转载 2016-12-28 20:33:53 · 1320 阅读 · 0 评论 -
eclipse配置NDK环境之语法提示和自动编译
对于初学者来说eclipse(虽然已经推荐使用AS了)中使用NDK是痛苦的,因为不知道哪儿下手,下面我就拿出两张图简单的说下配置就可以了,如果还不懂的话还是建议去看看慕课网的http://www.imooc.com/learn/411。1、NDK自动编译当我们写好JNI后,需要把c文件编译成.so库,我们可以用NDK的ndk-build命令生成,但是每次都去命令行是不是很烦啊,那么ecli原创 2016-04-24 18:41:52 · 990 阅读 · 0 评论 -
Material Designer的低版本兼容实现—— ActivityOptionsCompat
转自:http://www.cnblogs.com/tianzhijiexian/p/4087917.html 本文是对API中的方法做了介绍,如果想要看如何让这些方法兼容4.x或2.x可以看这篇文章:用开源项目ActivityOptionsICS让ActivityOptions的动画实现兼容新版的V4包中有了这个类—— ActivityOptionsCompat,我们可以通过这个类来启动acti转载 2016-08-10 11:03:35 · 598 阅读 · 0 评论 -
Android 新一代编译 toolchain Jack & Jill 简介
转自:http://taobaofed.org/blog/2016/05/05/new-compiler-for-android/2016 年 3 月 10 日, Google 向外界发布了 Android N 的预览版,并宣布了 Android N 的 Roadmap,Android N 的最终版源代码将于今年 8 或 9 月份释出到 AOSP 项目。在众多的 A转载 2017-03-14 12:40:13 · 648 阅读 · 0 评论 -
解决Android Studio配置签名出现的问题
对于Android Studio中的gradle,相信都知道的他的强大与便捷了,但是由于这个东西是groovy语言(其实就是Java的变种版)写的,很多使用上不是很明白,再加上文档都不是很清除甚至官方文档都有误,坑爹啊。最近打算使用签名的功能,于是在模块的build.gradle文件中增加如下的配置:def keystorePropertiesFile = rootProject.file原创 2017-03-14 13:47:13 · 8391 阅读 · 0 评论 -
Error:(1, 0) Gradle version 2.2 is required. Current version is 3.4.1.
我们在使用Android Studio的时候新建项目没什么问题的,但是当我们下载一份Github上的项目导入进去的时候却没法正常使用,其原因主要是gradle配置问题。而由于gradle这个玩意儿版本更新太快,Android Studio每个版本也不一样。比如2.3版本使用gradle的版本是3.3,而2.4版本使用的是3.4.1.那么这个时候会出现什么问题呢?当你使用Android Studio原创 2017-04-01 16:40:44 · 7947 阅读 · 0 评论 -
Android运行时权限问题记录
自从Android6.0使用动态授权以后,我们在开发过程中就要麻烦很多,不仅要在关键时刻判断是否拥有权限,否则出现权限问题导致程序崩溃。至于这些细节我在这里就不再啰嗦了,不清楚的可以去看下几篇别人写的帖子即可,比如这篇http://blog.csdn.net/leejizhou/article/details/51511630。然而我并不想重复这个了,而是记录下在实际使用中遇到的问题。首先说下正常原创 2017-03-25 17:27:51 · 574 阅读 · 0 评论 -
或许是介绍Android Studio使用Git最详细的文章
或许是介绍Android Studio使用Git最详细的文章不会在Android Studio中使用git的童鞋有福音了,有热心的已经帮我们整理好了。http://wensibo.top/2017/03/12/GitOnAS/转载 2017-04-12 09:42:10 · 622 阅读 · 0 评论 -
Android打印日志,实现快速定位源代码
传统的打印日志使用的Log,而Log只是简单的输出日志,我们是无法直接从输出的日志信息直接定位到日志的地方,那么该作者使用Java提供的StackTraceElement类来实现了,请看: Android打印日志,实现快速定位源代码转载 2017-04-12 22:39:53 · 902 阅读 · 0 评论 -
Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to
Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast t原创 2017-04-14 09:28:58 · 15658 阅读 · 7 评论 -
解决Android手机USB调试是灰色的问题
手上有一部HTC D820t型号的手机,并且已经开启了开发者选项(这是废话,不然也看不到USB调试),然而USB调试就是灰色的。怎么调怎么选择连接选项都不行,重置手机也不行,后来在网上搜到说需要插入手机SIM才行。没有插入SIM卡,手机不让使用连接方式不对,选为“文件传输”原创 2017-04-22 13:15:36 · 16929 阅读 · 1 评论 -
Cause: InvokeDynamic not supported
随着Android、Studio的演进,对于java新版本也开始支持了。于是就尝试把模块的Source Compatibility和Target Compatibility改成1.8。运行后报了一堆的错误,第一行是:Cause: InvokeDynamic not supported从没有见过的错误,想应该是因为当前项目中各个模块的版本不一样,于是都改成1.8就好了。原创 2017-05-25 15:43:53 · 1873 阅读 · 0 评论 -
传感器的基本介绍
传感器的基本介绍传感器的基本介绍传感器框架传感器可用性识别传感器和传感器能力监控传感器事件处理不同的传感器配置在运行时检测传感器使用Google Play过滤器来定位特定的传感器配置传感器坐标系访问和使用传感器的最佳做法注销传感器侦听器用Android模拟器测试不要阻止onSensorChanged方法避免使用不推荐使用的方法或传感器类型在使用传感器之前验证传感器仔细选原创 2017-05-19 11:26:31 · 1360 阅读 · 0 评论 -
完美解决Android的EditText因回车键失去焦点问题
完美解决Android的EditText因回车键失去焦点问题也许这个问题在手机上不会出现,但是在模拟器或者手持PDA(Android系统)上真的不一样,为什么这么说?原因是手机键盘回车是没有焦掉丢失的情况(在没有任何设置的情况下),而模拟器或者PDA上就会跳到下一个控件上,包括ViewGroup的控件(不信自己可以试试)。而类似TextView的控件则可以设置foucs、click等方式屏蔽掉,但是原创 2017-12-21 22:18:28 · 5002 阅读 · 4 评论 -
Activity与Fragment之间的生命周期方法
其实对于Activity、Fragment的生命周期很多文章都有,但是都是在分别讲它们的声明周期,却没有结合起来看声明周期方法。比如Activity的onCreate调用了后,附加上的Fragment的onCreate、onActivityCreated等方法什么时候执行呢,貌似还是不是很清楚。于是就动手打印下日志看下就一目了然了。 1、正常的生命周期方法调用 02-08 11:26:06.98原创 2017-02-08 12:27:42 · 564 阅读 · 0 评论 -
使用Testin(云测)监测Android出现的问题
一款软件很难做到百分之百的不出现问题,有些问题隐藏的很深我们在开发中或测试中发现,如果出现了问题怎么办呢?于是国内就出现了很多第三方的监测工具,比如我现在用的Testin。类似Testin的测试还是有几家的,不过最开始接触是Testin,所以一直使用它。官网上也有对应的文档说明,使用还是很方便的。我这里不做详细的说明,只是简单的记录下我在项目中解决的问题。Testin分SDK和NDK的原创 2016-01-13 15:08:00 · 2594 阅读 · 0 评论 -
使用Android Studio发布开源库到Bintray/Jcenter(新)
自动使用了Android Studio以后,特别喜欢现在的依赖方式:compile 'com.android.support:appcompat-v7:25.0.0',很讨厌以前的那种jar包的方式。于是也打算尝试下用新的方式自己编一个开源库。于是在网上搜寻了一下,有简单的也有容易的,真是五花八门。有时候感叹啊,学技术不难难在达到一个目的有多种方式,而各种方式参差不齐这个新手带来很大困惑。但是没办原创 2016-11-10 12:41:22 · 2504 阅读 · 0 评论 -
成也android:process败也android:process
在APP中需要使用Unity,而Unity呢又不得不以android:process方式去定义启动,同时APP中又使用了阿里巴巴的SDK和极光推送的SDK。这些都需要在Application中进行初始化,殊不知某些SDK必须是当前APP主进程进行初始化运行,而放到其它的进程(android:process)中运行就会出现错误。然而Unity属于不属于Android范畴的,总之启动方式很奇怪,运行也原创 2016-10-27 16:44:06 · 570 阅读 · 0 评论 -
java.lang.RuntomeException: lib/arm64-v8a/路径下没有libinet.2.0.1.so
最近项目中需要使用阿里巴巴的阿里百川IM,在使用过程中需要导入他们的SDK,里面就有so库(有armeabi、armeabi-v7a、x86)。然后奇葩的是编译没有任何问题,在启动的时候就报错了,提示如图:看到了吗,提示我arm64-v8a文件夹下没有对应的库,也说不需要这个删除掉,但我明明没有arm64-v8a啊!!!真的很郁闷,后来我就不信了,就把生成的apk(编译后会生成apk,原创 2016-10-20 09:26:20 · 2809 阅读 · 0 评论 -
Android Studio在运行的时候提示找不到符号的问题
由于demo是网上下载下来的,然后我的AS使用的API是23,结果运行的时候就报错。我很纳闷,命名存在这个id的,但是却运行不了。注意看图中的“注:某些输入文件使用或覆盖了已过时的API”,我就半信半疑的去看布局,发现跟布局有fill_parent,于是我改为match_parent就好了。 这个问题还很真不好找,主要是高版本不支持的原因,不注意真不知道哪儿错了 !原创 2016-04-20 19:38:36 · 8334 阅读 · 0 评论 -
Android Studio运行或Rebuild的时候报Error:Execution failed for task ':app:compileDebugNdk'.的解决办法
Error:Execution failed for task ':app:compileDebugNdk'.> Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.andr原创 2016-04-22 21:34:44 · 5322 阅读 · 0 评论 -
Android使用SO库时要注意的一些问题
转自:https://segmentfault.com/a/1190000005646078正好动态加载系列文章谈到了加载SO库的地方,我觉得这里可以顺便谈谈使用SO库时需要注意的一些问题。或许这些问题对于经常和SO库开发打交道的同学来说已经是老生长谈,但是既然要讨论一整个动态加载系列,我想还是有必要说说使用SO库时的一些问题。在项目里使用SO库非常简单,在 加载SD卡中的SO转载 2016-06-05 23:38:41 · 18229 阅读 · 1 评论 -
Android Studio 2.2 Preview - New UI Designer & Constraint Layout
原文:Android Studio 2.2 Preview - New UI Designer & Constraint LayoutBy Jamal Eason, Product Manager, AndroidThis week at Google I/O 2016 we launched Android Studio 2.2 Preview. This release转载 2016-06-14 23:19:23 · 1238 阅读 · 0 评论 -
解决Android Studio出现GC overhead limit exceeded
今天拿同事的小米4测试(Android Studio),居然装不上去,报java.lang.OutOfMemoryError: GC overhead limit exceeded。看了看他的手机内存,确实很小,于是在stackoverflow上搜到的回答(万能的stackoverflow啊!),做一个笔记。 stackoverflow: http://stackoverflow.com/que原创 2016-08-04 16:17:48 · 12325 阅读 · 0 评论 -
Android studio系统类报红,让我setup jdk的解决办法
莫名其妙的出现Android Studio系统类报红,让我setup jdk,但是项目能正常运行。我怀疑是gradle的问题,还清空文件夹什么的,弄了半天还是不行。后来在CSDN的问答上别人回复了,感谢啊! 来自:点击打开链接原创 2016-08-19 15:31:07 · 1099 阅读 · 0 评论 -
Android中嵌入极光推送SDK存在冲突问题
由于项目的需要,嵌入了极光推送SDK,同时在项目中使用了Unity库。运行项目后报错,我靠,就因为这个问题我找了好几天。另外要命的是极光推送给出的文档还不全,导致导入的库也少了一个,真是日了狗。为了防止再出现这样的坑,记下来希望能帮到别人。要删除的就是这个东西。报错的截图如下:据同学反应,不光是与Unity的库存在问题还与其它的库也存在问题。所以问题是类似的原创 2015-12-30 09:54:27 · 2524 阅读 · 1 评论 -
Android调用相机保存图片到相册
项目中需要使用相机拍照然后保存到相册中,然后保存后却发现相册中并没有这张图片,但是从相册的文件夹中可以看到。这说明相册没有及时刷新才会这样的。搜寻前辈的答案发现有两种解决方案,第一种是发送广播然后通知相册刷新,第二种是使用MediaScannerConnection 类来刷新。但在Android 4.4以上版本中第一种方法不行,会抛出安全异常。发送广播会抛出异常:sendBroadcast(ne原创 2015-11-26 17:19:15 · 1095 阅读 · 0 评论 -
Android修改修改JavaBean的属性导致Sqlite没有及时更新的问题
我们都知道Android中使用Sqlite作为数据库,而我们的数据库表又对应这个某个JavaBean。而随着业务的改变需要在JavaBean中添加新的字段,然而你会遇到一个奇怪的事,数据库中存在这个新增的字段,但是在操作数据库表时,数据出现错乱,且在调试过程中数据是正常的,但是结果是错误的!试了好多遍都是这样的,而且把应用卸载了还是会这样!后来想升级数据库或者修改数据库的名字应该不会这样,果然好了!原创 2015-11-26 16:26:19 · 666 阅读 · 0 评论 -
Android使用Unity导致Activity被销毁的解决办法
由于需要在Android中使用Unity(Android的Activity会继承Unity提供的UnityPlayerActivity),可能是第三方的原因退出Unity后就导致Android整个应用重新创建了一次,很多原先初始化的变量都被重置了。同时返回后生命周期方法居然不执行!折腾了很久也不知道为什么,后来想既然是第三方的东西,那我就应该把UnityPlayerActivity的清单属性改下,如原创 2015-11-25 15:14:58 · 3610 阅读 · 12 评论 -
SVN忽略.so、.dll文件导致没有提交到服务器的解决办法
SVN忽略.so、.dll文件导致没有提交到服务器的解决办法我们在eclipse中使用SVN提交项目到服务器时,SVN某些文件是忽略的,比如.so、.dll文件默认是不提交的。而我们在开发的时候又需要这些文件,如Android中我们经常使用.so文件,这时候一定要设置SVN的忽略选项,否则你找错都找不到。设置后再提交丢失的文件即可。原创 2015-10-19 13:24:24 · 5044 阅读 · 0 评论 -
3个gif动画让你明白RotateAnimation的pivotX与pivotY
3个gif动画让你明白RotateAnimation的pivotX与pivotY刚开始接触android中的动画(Animation),其中构造函数是这样的:/*参数1:float fromDegrees 开始旋转角度参数2:float toDegrees 结束旋转角度参数3:int pivotXType X轴起始点类型//如RotateAnimation.RELATIVE原创 2015-08-04 22:40:08 · 5018 阅读 · 0 评论