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

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

android-opencv-jni

//------------------start opencv--------------------@Override public void onResume(){ super.onResume(); //通过OpenCV引擎服务加载并初始化OpenCV类库,所谓OpenCV引擎服务即是 //OpenCV_2.4.3.2_Manager_2.4_*.apk程序包,存

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus