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协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文