首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高反射的健壮性?

如何提高反射的健壮性?
EN

Stack Overflow用户
提问于 2016-06-23 02:02:32
回答 1查看 54关注 0票数 2

我正在修改其他人的开源库,以更好地满足我的需要,在此过程中,我意识到库本身是相当脆弱的。它没有测试,代码的关键部分使用反射来绕过Android中的权限级别。我承认这是一种错误的做法,但我同意原作者的观点,即SDK中一些标记为私有或包私有的部分应该受到保护或公开。

例如,一个类除了扩展一个标准的Android类之外什么也不做,而是为其视图的颜色提供一个getter和setter,否则无法更改。

显然,依赖于其他人的代码库中的私有代码的代码在本质上是脆弱的,但我认为至少我可以为它编写一些测试。但是我唯一能想到的就是实例化它,改变颜色,看看它是否崩溃。假设在不访问私人成员的情况下无法做我想做的事情,我能做些什么来使这个更令人愉快呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 03:07:56

没有比这更重要的事了。我会添加一些单元测试,以执行您想要的特定反射代码,并查看它是否崩溃/保持正确的行为。你所依赖的是故意隐藏的第三党图书馆的细节--正如你所说的,在某个时候,这是灾难的教科书定义。因此,除了尽快提出移除此代码的迁移计划之外,我只需编写涵盖所有受影响代码的单元测试(尽管实际上您的应用程序应该已经包含在单元测试中;对于不能进行单元测试的应用程序进行了集成测试)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37981114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档