本人之前没用过android studio,因为有打包到安卓端的需求,所以有了这篇文章。下面一些内容不正常工作,也不报错,是很烦的,根本不知道是哪里出了问题。比如对应的aar包没有引入。或者没有注册信息。
在实现过程中我遇到一些问题记录一下
- 从android studio构建时,静态资源无法访问
- canvas没有正常工作
- uni.chooseImage无法正常工作,或者说是内部用到了uni.showActionSheet的都无法正常工作
- firstui中用到的fui-input显示异常,从as构建的会出现文字上移裁剪,可能还有其他地方也有异常,反正我直接把所有的条件都搞得跟官网的示例一样之后,就没有了。就是把让 gradle版本为8.4。gradle插件版本为8.2.2。kotlin插件版本为1.9.10。
- 里面很多配置的内容,我都直接让ai处理了,我并不清楚。控制台报错就贴给ai。
静态资源无法访问
按照uniappx官方文档的做法,是新建no activity的项目,然后在这个项目里面 new 一个android Library叫做uniappx。按照它这个做法,就会发现会有一个app主模块,跟一个uniappx模块,反正因为主模块没有activity之类的,要修改什么入口到uniappx里面的。我是让ai改的,这样操作后呢,进行构建时,会在app模块下有一个build,uniappx下有一个build,因为app模块下assets中没有对应的静态资源,所以就是访问不到的,这时候如果你自己把静态资源复制到app的build下面在构建运行就可以访问了,(因为我已经把app模块删了,所以给不了图。我记得是放在了 app/build/intermediates/assets/debug/mergeDebugAssets)这也太呆了。app主模块就这么一点入口的用处,所以我直接把app删了,我把uniappx模块直接改成应用,具体改动我也不懂,ai改的。
可以看到下图中uniappx的文件夹图标已经变成application了。这样在构建运行的时候,静态资源就能正确访问了,也不需要我做额外的操作。
canvas没有正常工作
这个图片中的底部栏当时考虑兼容性以及动画效果,所以使用canvas实现的。一开始并没有看到它正常工作,后面是在 uniappx的模块配置中看到还得在引入两个包。一开始没注意,这居然是单开一小节的。
引入了那两个包之后,还需要按照它说的在build.gradle中注册组件。我这里把我用到的所有的需要注册组件的都注册了
uni.chooseImage无法正常工作
uni.chooseImage默认是可以相机跟相册两种方式都支持的,结果对我这里就是一开始就不支持的,然后切换到单个时,他们就是可以正常工作的。服了。原来是他吗的uni-actionSheet的问题,uni.chooseImage里面如果支持多项,那么就会用到uni.showActionSheet来提供选项让你选择哪个。结果uni-actionSheet也是要单独引入,也是他吗的要注册信息的。我淦。又卡了我不少时间。