一、辅助工具:当前activity
首先打开游戏
确定当前Activity为sbz2
二、 依序在工程管理器中找到
往下翻一会就看到:
转换为java为:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | publicvoidbillingFailed(intparamInt) { Log.d("tag", "------------失败-----------"); nativeBillingSuccess(sbillingIndex, 0); }
publicvoidbillingSucceed(String paramString) { Log.d("tag", "------------成功-----------"); if((sbillingIndex < 0) || (sbillingIndex > this.goodInfos.length - 1)) { return; } if((paramString != null) && (!paramString.equals(this.goodInfos[sbillingIndex]))) {} label88: for(inti = 0;; i++) { if(i >= this.goodInfos.length) {} for(;;) { nativeBillingSuccess(sbillingIndex, 1); break; if(!paramString.equals(this.goodInfos[i])) { breaklabel88; } sbillingIndex = i; } } } |
源代码:
.method public billingFailed(I)V
.locals 2
.param p1, "sbillingIndex" # I
.prologue
.line 320
const-string v0, "tag"
const-string v1, "------------\u5931\u8d25-----------" //解码:失败
invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 322
sget p1, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
.line 323
const/4 v0, 0x1 //重点是这里,这是改完之后的,改成0x1就对了
invoke-static {p1, v0}, Lcom/caimeng/sbz2/sbz2;->nativeBillingSuccess(II)V
.line 324
return-void
.end method
.method public billingSucceed(Ljava/lang/String;)V
.locals 3
.param p1, "orderId" # Ljava/lang/String;
.prologue
.line 328
const-string v1, "tag"
const-string v2, "------------\u6210\u529f-----------" //解码:成功
invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 330
sget v1, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
if-ltz v1, :cond_0
sget v1, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
iget-object v2, p0, Lcom/caimeng/sbz2/sbz2;->goodInfos:[Ljava/lang/String;
array-length v2, v2
add-int/lit8 v2, v2, -0x1
if-le v1, v2, :cond_1
.line 378
:cond_0
:goto_0
return-void
.line 334
:cond_1
if-eqz p1, :cond_2
.line 336
iget-object v1, p0, Lcom/caimeng/sbz2/sbz2;->goodInfos:[Ljava/lang/String;
sget v2, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
aget-object v1, v1, v2
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_2
.line 338
const/4 v0, 0x0
.local v0, "i":I
:goto_1
iget-object v1, p0, Lcom/caimeng/sbz2/sbz2;->goodInfos:[Ljava/lang/String;
array-length v1, v1
if-lt v0, v1, :cond_3
.line 349
.end local v0 # "i":I
:cond_2
:goto_2
sget v1, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
const/4 v2, 0x1
invoke-static {v1, v2}, Lcom/caimeng/sbz2/sbz2;->nativeBillingSuccess(II)V
goto :goto_0
.line 340
.restart local v0 # "i":I
:cond_3
iget-object v1, p0, Lcom/caimeng/sbz2/sbz2;->goodInfos:[Ljava/lang/String;
aget-object v1, v1, v0
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_4
.line 342
sput v0, Lcom/caimeng/sbz2/sbz2;->sbillingIndex:I
goto :goto_2
.line 338
:cond_4
add-int/lit8 v0, v0, 0x1
goto :goto_1
.end method