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

相关文章

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

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

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四