学习smali最好的方式,不是百度也不是谷歌,而是直接反编译一款apk,对比java源码和smali源码就能够很快的掌握smali
java代码
VASTView mVastVideoView;
RelativeLayout mContainer;
public void inject(){
RelativeLayout.LayoutParams layoutParams =
new RelativeLayout.LayoutParams(-1, -1);
layoutParams.addRule(13, -1);
this.mVastVideoView.setLayoutParams(layoutParams);
this.mContainer.addView(this.mVastVideoView, layoutParams);
mVastVideoView.getBackground().setAlpha(100);
}
smali代码
# virtual methods
.method public inject()V
.locals 3
.prologue
const/4 v2, -0x1
.line 77
new-instance v0, Landroid/widget/RelativeLayout$LayoutParams;
invoke-direct {v0, v2, v2}, Landroid/widget/RelativeLayout$LayoutParams;-><init>(II)V
.line 78
.local v0, "layoutParams":Landroid/widget/RelativeLayout$LayoutParams;
const/16 v1, 0xd
invoke-virtual {v0, v1, v2}, Landroid/widget/RelativeLayout$LayoutParams;->addRule(II)V
.line 79
iget-object v1, p0, Lcom/smaato/demoapp/activities/RewardedVideoSample;->mVastVideoView:Lcom/smaato/soma/video/VASTView;
invoke-virtual {v1, v0}, Lcom/smaato/soma/video/VASTView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
.line 80
iget-object v1, p0, Lcom/smaato/demoapp/activities/RewardedVideoSample;->mContainer:Landroid/widget/RelativeLayout;
iget-object v2, p0, Lcom/smaato/demoapp/activities/RewardedVideoSample;->mVastVideoView:Lcom/smaato/soma/video/VASTView;
invoke-virtual {v1, v2, v0}, Landroid/widget/RelativeLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 82
iget-object v1, p0, Lcom/smaato/demoapp/activities/RewardedVideoSample;->mVastVideoView:Lcom/smaato/soma/video/VASTView;
invoke-virtual {v1}, Lcom/smaato/soma/video/VASTView;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v1
const/16 v2, 0x64
invoke-virtual {v1, v2}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
.line 83
return-void
.end method