软件开发及其他开发活动常面临诸多挑战,尤其是那些长时间运行的项目,刚开始接触时问题频出。这些过程中的酸甜苦辣,都值得详尽记录下来。
开发中的前期困扰
开发项目常常会遇到困难。在这个例子中,项目拖延已久,多种因素导致我们之前未能深入探讨。从2017年11月起,我们开始尝试了解项目,首先遇到的是环境配置的难题。幸运的是,许多前辈在网络上分享了他们的经验,尽管过程曲折,但最终还是克服了。这充分说明了前辈经验的价值,若没有这些宝贵的分享,每位新手可能都得在迷茫中摸索许久。
初次尝试推进项目时,遭遇了初级成果后的挫折。在电视应用的桌面上,无法看到自己应用的标志和名字,频繁地穿梭于项目之间查看,极为不便。经过多次尝试,发现问题与软件包版本所支持的API最低要求有关。这让我们意识到,在开发过程中,必须留意开发环境中的各种限制因素。
logo与名称不显示的背后
项目启动后,我们未能看到相应的应用标志和名称,看似微不足道,实则给开发带来了困扰。它扰乱了我们的开发进度。在遇到这一问题时,仅凭过往经验去寻找解决方案是不够的。后来了解到,这和谷歌推出的某个软件包的API版本支持有关。这个软件包在电视设备上构建用户界面方面至关重要,但它所支持的最低API版本是17,即Android4.2。因此,在许多旧版本或兼容性不佳的情况下,很容易出现显示缺失的问题。
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />的问题,把它修改成<category android:name="android.intent.category.LAUNCHER" />,再跑一下,桌面上就出来了,问题解决。同时,众多功能特性需要API21或更高版本才能实现。这一点体现了开发过程中的连锁效应,某个环节的限制可能在最终产品中引发出乎意料的影响。在实地开发阶段,若对相关软件包不够熟悉,便难以锁定问题的根本所在。
持续开发中新的挑战
2017年12月,新问题浮现,Code出现错误,标记为tag。这种突如其来的错误,往往会让开发工作停滞不前。若缺乏相关经验,处理这种错误可能会让人感到非常困扰。就好比一辆原本平稳行驶的车辆突然熄火,找不到故障原因,就只能停在原地。
在这种情形下,若一味地尝试各种常规的解决途径,极有可能导致时间的无谓浪费。此时,那些具备丰富经验或相关领域知识储备的开发者,无疑会占据极大的优势。在开发过程里,各种不同类型的错误随时可能发生,因此,建立并完善应对机制显得尤为重要。
报错的解决办法
遇到Code错误标签时,得有对应的解决策略。本项目里,我们通过在文件中加入特定信息来处理。这或许源于查阅了技术资料,或是多次实验得出的结论。但具体添加的内容并未明确说明。若能在此阶段,详尽列出所加文件内容并解释其添加原因,既能增强个人对问题的认识,亦能更好地指导后人。
在开发过程中,许多开发者遇到错误能找到解决办法,却往往不擅长记录详细的解决步骤或总结出错原因,这种情况对整个开发进度和技术传承极为不利。
<uses-feature android:required="false" android:name="android.software.leanback"/>问题不止眼前这些
坑3:Code Analysis 报错:Hardware feature `android.hardware.touchscreen` not explicitly marked as optional尽管我们已遭遇了标志显示故障和代码错误,但必须明白这仅仅是开发途中的一小部分。鉴于项目系持续运行的开发项目,在接下来的开发阶段,我们还将面临更多挑战。这些问题可能是新功能与旧架构的兼容问题,也可能是满足不同需求时涉及的复杂代码逻辑问题。
从实际出发,新增每项功能都可能引发一些意外状况。对于运行了一段时间的项目来说,这种情况可能更为严重。因为代码可能已经有些过时,而框架的扩展能力也有所限制。
解决:Manifest文件添加如下:<uses-feature android:name="android.hardware.touchscreen" android:required="false" />分享经验的意义
记录下开发过程中的问题,首要好处是帮助自己。今后遇到类似难题时,可以快速查阅过往的解决方案。再者,这样做也有助于他人。开发中遇到的问题并非孤立,许多开发者可能正遭遇或即将遇到相似的难题。分享这些经验能帮助他们避免不必要的曲折。开发者们应当营造一个分享的氛围,共同促进开发技术的进步。
坑4:Code Analysis 报错:Expecting an activity to have `android.intent.category.LEANBACK_LAUNCHER` intent filter.你在开发过程中是否曾遭遇难题,无人可以咨询?若你遇到此类困境,也请尝试记录并分享经验。同时,多与同行交流,若有相同经历,欢迎在评论区留言点赞。
解决:<category android:name="android.intent.category.LAUNCHER" />修改为