Android攻城bug分享-02

2024-05-31 21:32
文章标签 android 02 分享 bug 攻城

本文主要是介绍Android攻城bug分享-02,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一     项目中出现的问题 -迁移到as上的奇怪错误

        现在想必应该是只有少数的老项目因为维护成本的原因,还停留在ec上没有进行迁移。大部分的项目应该已经在as上运行了

这个也是必然趋势,as构建项目的能力要强于ec不知道多少倍,并且还是Google的亲儿子,这个自然非常强大。公司的一个

稍微旧一点的项目,在几经波折之后,还是迁移到as上,然后我就开始了漫长的bug修复之后。

第二     问题的表现

第一       迁移之后,最突出的问题就是api和版本不兼容的问题吗,这个倒是好改一些,百度一下之前迁移过来的已经给我们探过路的大神们已经分享了很多经验,这个就不多赘述了。

第二      编码问题,我去以前的人竟然没有用utf-8,真是厉害了,光这个就浪费了几天的时间,好在中间没有其他的任务,这个我个人的技巧就是先在原因的代码页面进行ctrl+A, 然后复制,保持这个状态不要做其他操作,然后去改变编码,改完之后发现是 utf-8 ,在Ctrl+V。这是以前改的时候的小技巧,主要是注释和一些注解要是不保留就真的呵呵了,但是页面太多了。如果大神有好的方法,可以分享一下。

改变编码的地方

第三     so文件的编译错误问题,改了好几遍,就是过不了编译。原因的话,要不就是你的so文件出现损坏,毕竟在ec上对so的审查不严格,对一些不重要的文件直接就忽略了。在as上比较严格,一般迁移过来的项目只要是不该目录的话,是不用动的,就在project视图的libs文件下

至于一般所说的jnilibs文件夹,在迁移的时候会自动生成的。用时在module的build.gradle文件的中android下边,去配置路径

sourceSets {

main {

          jniLibs.srcDirs= ['libs']

        }

}

这样应该是没有问题的,建议可以先更新或重新下载so文件,这样更靠谱一些。

第三   assets文件的加载问题

项目的修改已经快完成了,并且网络和图片的加载也重构了一遍。并且已经可以打包运行了,这个时候我感觉自己看见胜利的曙光了,但是打包之后,一个突如其来的bug,让我重新落入黑暗之中,第三方的分享不能正常使用。放在资产目录下的几个静态网页没有正常的加载。

针对这个问题,我先检查了一下网页加载的路径,发现没有错误。注意:反斜杠的个数啊,也许这个就是加载错误的原因

webview_about_us.loadUrl("file:///android_asset/About.html");

然后去检查权限配置,这个更没有了,开始的时候答应申请过了,这个比较无语。因为一般错误指向很明确,但是这个没有指向,也不报错,就是加载不出来。第三方分享也不能正常使用,因为第三方分享的配置文件,就在资产目录下放着呢。

我上官网上各种百度搜索,还是搞不定,有点蒙圈的感觉。然后就开始检查配置文件,因为ec迁移到as上需要配置的东西还挺多的,我找到了一个很相似的东西,就是在配置libs的时候

sourceSets {

main {

//            assets.srcDirs = ['assets']

              jniLibs.srcDirs= ['libs']

    }

}

这个地方的配置在迁移的时候为了方便同一配的模板,但是这次在项目中发现这样做会导致资产目录下的文件加载失败。

令外配置资产目录的时候,需要配置在project视图下的main目录下边,大家可以参照一下下面的文章的配置,可以直接这样做

" sourceSets {main {assets.srcDirs = ['src/assets','src/assets/'] } } "

www.cnblogs.com/zhangqie/p/6430366.html

第四   问题总结

一般来说,资产目录下放置的都是稍微大的文件,用来加载一些数据库或者相对较大的一些文件资源。现在一般都是用做混合开发的使用,一般在里面放置一部分静态网页来交互。

这些小的问题是迁移到as上的时候遇见的比较奇怪的问题,分享给大家看一下。如果有正在迁移的可以参考一下。令

如果有不对的话,烦请指正一下。

这篇关于Android攻城bug分享-02的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1019105

相关文章

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

MySQL8.2.0安装教程分享

《MySQL8.2.0安装教程分享》这篇文章详细介绍了如何在Windows系统上安装MySQL数据库软件,包括下载、安装、配置和设置环境变量的步骤... 目录mysql的安装图文1.python访问网址2javascript.点击3.进入Downloads向下滑动4.选择Community Server5.

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤