当我设置真值但出错时,这段代码有什么问题
原创
".field private isPro:Z"
我的套装
'''.field private isPro:Z=true'''
答案 0 :(得分:1)
在 smali/dalvik "Z" 的意思是 "boolean",在你的例子中它只定义了 类型,而不是 >价值:
.field private isPro:Z
将 "Z" 更改为 "true" 将不起作用,因为 "true" 它不是有效类型。 如果要更改其值,则需要搜索变量isPro 的使用位置,并将0x0(假)更改/覆盖为0x1 >(真)。
答案 1 :(得分:0)
您应该在构造函数或任何方法中使用iput-boolean
,而不是在定义字段时直接赋值。
.field private isPro:Z
#assign value
const/4 v0, 0
iput-boolean v0, p0, Lcom/example/YourClassPath;->isPro:Z
顺便说一句,直接分配仅适用于 static
字段,如下所示
# not 0 not 1
.field private static isPro:Z = true