首页 > 编程知识 正文

手机浏览器自定义ua,手机浏览器怎么自定义ua

时间:2023-05-05 15:52:10 阅读:282192 作者:2644

Android系统中内置了浏览器应用/system/app/ Browser.apk,默认它生成User Agent 的策略如下: 

以Android2.3为例,其 具体逻辑在:android.webkit.WebSettings.getCurrentUserAgent() 方法中。 

Java代码   Mozilla/5.0 (Linux; U; Android $(VERSION) ; $(LOCALE) ; $(MODEL) Build/$(BUILD) ) AppleWebKit/533.1 (KHTML, like   Gecko) Version/4.0 Mobile Safari/533.1   
上面的$表达式会被求值, 

VERSION: Java代码   android.os. Build.VERSION.RELEASE (ro.build.version.release)  
MODEL : Java代码   android.os. Build.MODEL (ro.product.model);  
BUILD: Java代码   android.os. Build.ID (ro.build.id) ;  
LOCALE :当前设备中的语言设置,动态变化; 
除Locale之外,其余几个都是Android系统属性,这些属性的初始值通常都定义在buildtoolsbuildinfo.sh文件中,要覆盖它们,需要向文件中添加新值。 

但需要注意的是,一些以ro.开始的属性是只读属性 因此无法覆盖,修改其值 的 正确方法是,从源头,例如: ro.product.model 属性 在buildinfo.sh文件中的定义如下: 
Java代码   echo "ro.product.model=$PRODUCT_MODEL"   


那么,我们就需要找到PRODUCT_MODEL内部变量的定义,修改它,或者覆盖它。 

针对 PRODUCT_MODEL变量而言,我们可以在 deviceHW_XP_XXP_XX.mk文件中覆盖它,例如: 
Java代码   PRODUCT_MODEL := S41IA

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。