美文网首页
日常入坑出坑记录

日常入坑出坑记录

作者: 伦子汪不造轮子 | 来源:发表于2018-07-18 10:53 被阅读0次

    2017年9月26日10:23:48
    android 存储权限一定要在启动时获取,不然会有无数未知问题

    2017年9月27日16:19:54
    集成腾讯X5,做cpu适配的时候so文件要放在主modlue,不然之后下载插件会失败

    2017年10月20日17:16:50
    部分三星手机上拍照回调异常,要加上配置
    android:configChanges="orientation|keyboardHidden|screenSize"

    2017年10月24日10:03:00
    手机上呈现的结果不对时 第一时间去看自己的代码和接口返回的数据(别太自信),确定都没问题再推锅给后台,不然被打脸好痛啊
    2017年11月23日17:05:43
    正式包下,gradle的debuggable设置为false会导致反射viewpage的mRightEdge属性失败,设置true,或者在测试包下就能成功
    根本问题在于 混淆了 v4包,加上
    -keep class android.support.v4.**
    -keep class android.support.v4.** { *; }
    之后就可以正常反射了。
    另外混淆的情况下 debuggable配置true的确也能反射,可能是开启了debuggable就默认关闭了混淆???

    2018年1月15日15:24:53
    对接挖财的H5,结果发现游览器,QQ,微信上均能正常开启,安卓webview显示空白, “setItem() *** null”
    原来H5使用了 localStorage ,这个在安卓这里需要额外的配置一下webview才行
    myWebview.getSettings().setDomStorageEnabled(true);// 打开本地缓存提供JS调用,至关重要
    myWebview.getSettings().setAppCacheMaxSize(1024 * 1024 * 8);// 实现8倍缓存
    myWebview.getSettings().setAllowFileAccess(true);
    myWebview.getSettings().setAppCacheEnabled(true);
    String appCachePath = getApplication().getCacheDir().getAbsolutePath();
    myWebview.getSettings().setAppCachePath(appCachePath);
    myWebview.getSettings().setDatabaseEnabled(true);
    自此, js和native交互的方式除了 js桥,协商重定向,还有localStorage

    2018年1月23日00:13:42
    之前在公司提交的demo,回来怎么也跑不通,主module识别不了,也没啥错误提示,搞了3,4个小时,最后在SDKManege里面一通乱升级搞定了。 猜测原因是有些tool没装,项目用到了cmake,NDK 这些可以需要更新一下,这里吸取个教训,下次被开发工具虐的时候先把能升级的升级一下再看看

    2018年3月6日19:20:36
    android studio默认SDK位置是C盘,今天发现C盘快满了,于是把SDK路劲切换到了F盘,重新下SDK,结果点run app没反应,最后检查发发现SDK里面存放adb.exe的文件夹里面缺少adb.exe,但是SDKManege缺显示已安装。 最后把文件夹整个删了,在SDKManege重新装了下那个tool,再修改了下之前配置 android环境变量(不在C盘了),最后搞定

    2018年3月15日 12:53:51
    学习RN,出现code500的红屏,网上的方法都查了每一个匹配的,后面发现是组件FlatList的使用方式导致的,,所以,,RN真的很坑,组件的封装错误也能导致500

    2018年3月20日 15:14:18
    checkBox的selecter里面只能有checked状态,有其他状态会导致切换无效果(安卓7.0)

    2018年6月25日 11:39:14
    软件盘遮挡底部按钮问题通过
    LinearLayout
    ScrollView
    LinearLayout
    LinearLayout
    ScrollView
    按钮
    LinearLayout
    这种布局处理,默认
    android: windowSoftInputMode =“adjustResize” 是可以正常顶起的
    当设置了 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    会和android: windowSoftInputMode =“adjustResize”冲突,导致软键盘不顶起,百度一份
    AndroidBug5497Workaround 进行处理

    后续补充:AndroidBug5497Workaround 处理的方式无法适配 虚拟导航栏

    终极处理方式:
    https://blog.csdn.net/a243920187/article/details/53321681
    1.替换根布局为里面的自定义布局(重写了fitSystemWindows方法)
    2.自定义根布局加上属性
    android:clipToPadding="true"
    android:fitsSystemWindows="true"

    2018年7月12日 09:31:31

    android项目突然无法运行, image.png

    studio 顶部的 app 处出现红叉,,极大概率是 SDK没有更新
    解决办法是如下:
    点击 File -> Settings -> 找到 Android SDK ->在 Android SDK Location 后点击 Edit -> Next->Next (一直点 Next ,等到更新完即可)

    2018年7月18日 10:42:54

    项目主框架采用 mainactivity+ fragment4 (v4 fragment)
    首页的fragment 里面是 viewpage(FragmentStatePagerAdapter)+ fragment
    n(动态个数fragment)

    之前是mainactivity用repalce 去切换fargment
    缺点:1.fragment各种生命周期重复走(repalce 方式的实现有关,当被替换的fragment不再使用时可以采用这种)
    2.多语言切换的时候viewpage+ fragment的首页 空白

    修改方式:
    1.mainactivity 替换为 add和hide的方式处理fragment切换
    2.viewpage 新建FragmentStatePagerAdapter的时候传入 getChildFragmentManager() ,否者会出现fragment空白的情况

    补充:FragmentStatePagerAdapter使用动态数量fragment, 结合setOffscreenPageLimit(n)去保存固定数量的fragment,不建议太大
    FragmentPagerAdapter使用数量较少且固定

    2018年7月19日 11:11:30
    部分手机,webview加载loadData文本的时候出现乱码,如下处理
    webView.getSettings().setDefaultTextEncodingName("UTF -8");//设置默认为utf-8
    //webView.loadData(htmlData, "text/html", "UTF -8");//API提供的标准用法,无法解决乱码问题
    webView.loadData(htmlData, "text/html; charset=UTF-8", null);//这种写法可以正确解码

    另外类似的还有 部分手机在使用 Html.fromHtml设置文本的时候不支持 <strike>标签 (oppo R9等),
    处理方式换成SpannableString去处理

    2018年7月27日 16:01:53
    昨天app上线了谷歌play,满心欢喜,结果下载下来发现FB不能登录,说hashkey不存在,立马用工具看了下hashkey,确实变了, 首先是去FB上添加了新的hashkey,这样app暂时是能用了

    回家后一想不对,hashkey是根据签名密钥生成的,为什么会变??难道谷歌改了我的密钥签名?
    一问goodle客服,得知,新建应用的时候默认勾选的加入 “谷歌签名计划” 作用就是你上传apk后,他们去掉你的签名,换上自己的,,,美其曰:更安全。 并且一旦加入这个 坑爹 计划就不能改了,同时apk上传是有记录的,包名唯一识别

    这样带来的后果就是

    1.app内无法做直接更新
    2.和其他应用市场下载的apk不兼容
    原因都是签名会不一致,并且你无法拿到他们签名后的apk,也无法拿到他们的密钥自己去签名

    唯一的办法就是换 包名,重新上传。。。。简直天坑 还好发现早,万一有用户量了再去换包名,,,,基本也就丢工作了

    上传谷歌 play市场的小伙伴们注意了,,这个坑 就是不要加入他们的坑爹计划

    2018年12月6日 11:51
    gradle运行run异常,读取的是build文件夹里面apk,并且是之前配置的,解决方法是刷新gradle
    https://blog.csdn.net/ouyang_peng/article/details/51243441

    2019年3月4日 16点59分
    kotlin中用Arouter路径一直找不到,,,原来需要配置 kpt
    https://www.jianshu.com/p/09502bf1e54d

    2019年3月13日 17点45分
    Oppo FIND7 用studio安装未签名的apk时出现 应用未安装
    1.打包出签名的apk用adb install 安装成功
    2.配置签名,继续用studio安装依然失败
    3.错误信息出现Arouter instan runn error等字样

    最后勾选 enable选项后用 studio安装成功


    image.png

    待补充....

    相关文章

      网友评论

          本文标题:日常入坑出坑记录

          本文链接:https://www.haomeiwen.com/subject/fffsextx.html