android
airgreen
这个作者很懒,什么都没留下…
展开
-
ActivityScenarioRule懒加载
由于新的安卓SDK使用ActivityScenarioRule替代了ActivityTestRule,我们期望ActivityScenarioRule能跟ActivityTestRule一样进行懒加载,但是实际并非如此。好像谷歌添加了ActivityScenarioRule懒加载功能但是还没有release出来。在实际使用中如果我们又有懒加载的需求,例如用RuleChain实现截图、重复测试等多个rule的使用,那么可以自定义一个ActivityScenario的TestRule。自定义Test...原创 2021-04-14 17:40:33 · 1156 阅读 · 0 评论 -
在android app中使用opencv3.4.3 VideoCapture播放视频
最近在使用opencv3.4.3过程中发现opencv编译的android库不支持VideoCapture播放视频,要支持VideoCapture需要修改编译cmake文件才能编译生成支持VideoCapture的库文件。下面是修改编译opencv3.4.3的相关处理:1.修改opencv3.4.3目录下CMakeLists.txt文件如下:(1).修改以下IF (NOT ANDROID AND NOT IOS AND NOT WINRT)为IF (NOT IOS AND NOT WINRT).原创 2020-10-06 23:12:00 · 3277 阅读 · 0 评论 -
android7.0适配popupwindow位置
由于android7.0系统的bug导致popupwindow设置Gravity不起作用,之前设置在底部显示的popupwindow在7.0上显示到了顶部,使用showAtLocation时可以通过设置Gravity为NO_GRAVITY,设置y偏移来实现底部位置显示。以下是修改后的代码,对7.0单独做了处理。 if (Build.VERSION.SDK_INT ...原创 2018-08-01 10:42:46 · 409 阅读 · 0 评论 -
TransactionTooLargeException问题
最近发现之前功能没问题的app出现了闪退,日志里报了TransactionTooLargeException异常,造成原因是由于intent传输数据量过大,intent传输数据量超过512K会异常闪退, app处理的数据量超过了1M所以出现异常。根据网上的方法尝试了WeakReference将数据临时保存再获取,但是发现获取时经常为空,因此放弃了该方法。后来将要传输的数据封装成了静态对...原创 2018-08-01 09:43:24 · 1134 阅读 · 0 评论 -
使用ant自动打包app
项目需求对android app进行自动打包,因为项目用adt开发,所以采用ant来做自动打包。用ant打包主要有以下几个步骤:1.对项目及其依赖子项目生成ant脚本 进入到项目根目录,执行(adt所在路径)\sdk\tools\android update project --name chenglifang -p ./ --subprojects. -name为项目名称,原创 2017-08-17 18:46:59 · 496 阅读 · 0 评论 -
Unity在安卓中退出activity会kill掉整个APP问题
最近用Unity开发AR项目中遇到Unity在安卓APP中退出activity时会kill掉整个的APP问题, 本来目的是在Unity界面上点击一个返回按钮从而退出UnityPlayerActivity,但发现直接finish UnityPlayerActivity会将整个APP kill掉而不是返回到上一个activity。究其原因是UnityPlayerActivity在onDestroy中原创 2017-06-01 19:56:30 · 6741 阅读 · 1 评论 -
android65535问题
最近在项目中加入一个第三方SDK时遇到了坑人的65535方法数超限问题,android studio上解决起来比较方便,但是由于此项目一直是在eclipse上开发的,迁移到studio要费点劲,所以在网上找到一篇在eclipse上解决的方案。试了一下挺好用。方案链接为http://www.mamicode.com/info-detail-1578920.html。其原理也是基于MultiDex分包原创 2017-02-21 22:43:16 · 345 阅读 · 0 评论 -
webview中如何让图片自适应
在webview中要对图片进行自适应就需要对图片在网页中的css样式进行调整。一种方法是在加载完网页后在onPageFinish中用js调用对图片样式进行调整,这种方法是在网页加载完再调整图片样式进行二次渲染,所以会有一个短暂延时,可以看到明显的页面闪烁变化。另外一种方法是在加载网页前对网页图片样式进行修改调整,然后再用loadDataWithBaseURL加载网页,这种方法不会有二次...原创 2016-12-21 23:52:21 · 1190 阅读 · 0 评论 -
selinux安全策略导致APP不能读取文件
由于项目的需要,我们开发的画册类APP需要读取几个G的数据,系统启动后只有此APP自动启动显示,APP不能退出,用户不能使用其他APP。直接在普通平板上安装显示是不能满足需求的。因此我们定制了小米2平板将APP连同几个G的数据打包到系统中。原来开发的时候是用小米1平板做调试开发的,但是后来换了小米2平板就发现画册不能正常显示。查找原因发现每次在读取关键文件时有以下的Log出现:type=140原创 2016-11-07 10:17:32 · 1213 阅读 · 0 评论 -
红米手机创建目录失败问题
在APP开发过程中,由于需要动态创建目录,使用了mkdirs, 但是在红米魅族等一些手机上有时不能成功创建目录,导致APP某些功能出现异常。但是在三星手机上没有发现此问题。分析发现红米手机上如果将文件夹创建后删除了该文件夹再创建该文件夹时经常会创建失败。为了避免此问题带来的android不同设备的行为差异,应尽量在APP初始化时创建好所需的目录,或者动态创建目录后不做删除重创建的操作。 另外发现小原创 2016-11-05 17:26:17 · 3221 阅读 · 0 评论 -
AsyncTask线程数超限问题
在我们的APP使用中发现频繁点击切换tab会导致APP崩溃, 分析log发现由于在每次点击tab时会创建一个AsyncTask去更新数据, 由于没有做重入保护,快速频繁切换点击tab会生成大量AsyncTask的线程导致超出系统最大线程数量产生RejectedExecutionException拒绝添加线程异常而使APP崩溃。比较简单的解决办法是设立一个任务是否完成标志,创建AsyncTask刷新原创 2016-11-05 16:55:49 · 1570 阅读 · 0 评论