有没有办法在Android应用程序级别禁用主机文件?

有没有办法在Android应用程序级别禁用主机文件?,android,hosts,Android,Hosts,我正在尝试在我的应用程序中使用主机文件DNS覆盖。是否有允许我执行此操作的应用程序属性或TCP设置?或者,在应用程序级别是否存在DNS钩子 我基本上是试图绕过广告屏蔽主机文件定制ROM的地方,但这样做是在应用程序级别 基本上,如果人们不喜欢这些广告,就不要使用我的应用程序,但我不想成为一个混蛋,不让应用程序运行 是否有允许我执行此操作的应用程序属性或TCP设置 不可以。对于您自己的IP地址(例如HTTP请求),欢迎您查找一些Java DNS解析库,并使用它而不是系统解析库,但无法拦截来自应用程序

我正在尝试在我的应用程序中使用主机文件DNS覆盖。是否有允许我执行此操作的应用程序属性或TCP设置?或者,在应用程序级别是否存在DNS钩子

我基本上是试图绕过广告屏蔽主机文件定制ROM的地方,但这样做是在应用程序级别

基本上,如果人们不喜欢这些广告,就不要使用我的应用程序,但我不想成为一个混蛋,不让应用程序运行

是否有允许我执行此操作的应用程序属性或TCP设置

不可以。对于您自己的IP地址(例如HTTP请求),欢迎您查找一些Java DNS解析库,并使用它而不是系统解析库,但无法拦截来自应用程序中第三方代码的其他请求

或者,在应用程序级别是否存在DNS钩子

不,见上文

基本上,如果人们不喜欢这些广告,就不要使用我的应用程序,但我不想成为一个混蛋,不让应用程序运行

然后,您应该修复(或与您的广告网络一起修复)当用户安装了“广告阻止主机文件自定义ROM”时,应用程序无法运行的原因。广告横幅不应崩溃,因为它无法解析DNS,因为可能存在与“广告阻止主机文件自定义ROM”无关的失败原因(例如,具有连接的DNS服务器)


由于您没有解释“不跑步”在这种情况下的含义,因此很难向您提供更具体的建议。

Kenny,您可能需要检查广告是否显示和/或广告网站是否可用,并利用这些信息采取措施。您可以禁用功能;显示带有重试Internet连接按钮的对话框;等等。你不想因为不运行应用程序而成为一个讨厌鬼,但你想处理用户的主机文件?不,Falmari,我只想忽略应用程序中的主机文件,从而防止它们处理我的应用程序功能,你读过问题了吗?admob没有真正解决问题,但一些较小的网络至少对它开放,本质上,如果网络连接可用且DNS无法解析,它们应该有一些固定的IP来尝试。