首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >更改android adb shell中"getprop“的输出

更改android adb shell中"getprop“的输出
EN

Stack Overflow用户
提问于 2018-05-26 13:35:23
回答 1查看 4.2K关注 0票数 0

当我们在adb中使用getprop时,我正在尝试更改输出。我知道init将从/default.prop / system /build.prop /system/default.prop /data/local.prop读取系统属性。在我的例子中,我只得到了系统和/ /default.prop /build.prop。所以我所做的就是获取android源代码并将其添加到build/target/product/core.mk中。

代码语言:javascript
复制
PRODUCT_PROPERTY_OVERRIDES :=\
ro.bootloader="PWN" \
ro.bootmode="PWN" \
ro.hardware="PWN" \
ro.kernel.qemu="PWN" \
ro.product.device="PWN" \
ro.product.model="PWN" \
ro.product.name="PWN" 

之后,我编译源代码。但结果却很奇怪。我可以看到system/build.prop已经改变了。

代码语言:javascript
复制
# begin build properties
# autogenerated by buildinfo.sh   
ro.build.id=N2G47F
ro.build.display.id=aosp_arm-eng 7.1.2 N2G47F eng.sam.20180525.204329 
test-keys 
ro.build.version.incremental=eng.sam.20180525.204329
ro.build.version.sdk=25
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=7.1.2
ro.build.version.security_patch=2017-04-05
ro.build.version.base_os=
ro.build.date=Fri May 25 20:43:29 CST 2018
ro.build.date.utc=1527252209
ro.build.type=eng
ro.build.user=sam
ro.build.host=ubuntu
ro.build.tags=test-keys
ro.build.flavor=aosp_arm-eng
ro.product.model=AOSP on ARM Emulator
ro.product.brand=Android
ro.product.name=aosp_arm
ro.product.device=generic
ro.product.board=
# ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete,
# use ro.product.cpu.abilist instead.
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.cpu.abilist=armeabi-v7a,armeabi
ro.product.cpu.abilist32=armeabi-v7a,armeabi
ro.product.cpu.abilist64=
ro.product.manufacturer=unknown
ro.product.locale=en-US
ro.wifi.channels=
ro.board.platform=
# ro.build.product is obsolete; use ro.product.device
ro.build.product=generic
# Do not try to parse description, fingerprint, or thumbprint
ro.build.description=aosp_arm-eng 7.1.2 N2G47F eng.sam.20180525.204329 
test-keys


ro.build.characteristics=emulator
# end build properties
#
# from build/target/board/generic/system.prop
#
#
# system.prop for generic sdk
#

rild.libpath=/system/lib/libreference-ril.so
rild.libargs=-d /dev/ttyS0

#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.com.android.dataroaming=true
ro.config.ringtone=Ring_Synth_04.ogg
ro.config.notification_sound=pixiedust.ogg
ro.carrier=unknown
ro.bootloader=PWN
ro.bootmode=PWN
ro.hardware=PWN
ro.kernel.qemu=PWN
ro.product.device=PWN
ro.product.model=PWN
ro.product.name=PWN
ro.config.alarm_alert=Alarm_Classic.ogg
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.adb.qemud=1
persist.sys.dalvik.vm.lib.2=libart.so
dalvik.vm.isa.arm.variant=generic
dalvik.vm.isa.arm.features=default
ro.kernel.android.checkjni=1
dalvik.vm.lockprof.threshold=500
dalvik.vm.image-dex2oat-filter=verify-at-runtime
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

显然,我重写了这些属性。但是当我在abd shell中尝试getprop时,输出是这样的:

代码语言:javascript
复制
[ro.product.device]: [generic]
[ro.product.locale]: [en-US]
[ro.product.manufacturer]: [unknown]
[ro.product.model]: [AOSP on ARM Emulator]
[ro.product.name]: [aosp_arm]

[ro.bootloader]: [unknown]
[ro.bootmode]: [unknown]

我在这里只列出了几个,但是我们可以看到这些属性都没有改变。这很奇怪。因为init应该在启动时从build.prop读取。有人告诉我要重新编译整个系统,而不是只编译sdk。我只是编译了整个系统,但它又失败了。这里也有同样的问题。我正在使用牛油糖7.1.2_r3。有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 08:48:56

如果您在aosp目录中搜索其中的一些属性,您将看到由build变量设置。例如,在build/make/tools/buildinfo.sh中,您可以看到以下代码行:

代码语言:javascript
复制
echo "ro.product.model=$PRODUCT_MODEL"

它的工作原理有点复杂,但重点是您需要在<device>.mk文件中设置PRODUCT_MODEL,就像谷歌在文档中建议的那样:https://source.android.com/setup/develop/new-device

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

https://stackoverflow.com/questions/50539646

复制
相关文章

相似问题

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