mapping文件就是在对代码混淆以后,你用来查看混淆前和混淆后的对比文件。
一般用来查看线上的bug;
java.lang.NullPointerException: Attempt to invoke virtual method 'void *****.online.ui.CustomWebView.d()' on a null object reference
at *****.online.ui.ActivityOnlineHuaWei.a(SourceFile:616)
at *****.online.ui.ActivityOnlineHuaWei.b(SourceFile:603)
at *****.online.ui.ActivityOnlineHuaWei.a(SourceFile:597)
一般根据日志去搜mapping的时候,最后一个要去掉,这样才能找到类。 一般最后一个是混淆之后的方法名,
比如*.online.ui.ActivityOnlineHuaWei.a,你就应该搜*.online.ui.ActivityOnlineHuaWei
找到mapping文件里面的类名
找到一般是这样的:
*****.online.ui.ActivityOnlineHuaWei -> *****.online.ui.ActivityOnlineHuaWei:
int MAX_EXTERNAL_WEB_VIEWS_COUNT -> D
int NAVI_INDEX_HOMEPAGE -> o
int NAVI_INDEX_CATEGORY -> p
int NAVI_INDEX_RANK -> q
int NAVI_INDEX_DISCOVER -> r
int NAVI_INDEX_ACCOUNT -> s
int NAVI_INDEX_SEARCH -> t
int BACK_NO_ACTION -> u
int mBackAction -> E
int FIX_HUAWEI_LOGIN_TIMEOUT -> F
int mCurrNaviIndex -> G
*****.app.APP$OnDialogEventListener mDialogListener -> H
java.lang.Object mDialogParam -> I
*****.bookCityWindow.CommonWindow mCityWindow -> J
*****.bookCityWindow.WindowWebView mWindowWebView -> K
java.lang.String mLastRequestUrl -> L
java.lang.String mReOrderUrl -> M
boolean mIsCallBack -> N
boolean mIsReOrder -> O
*****.online.ui.ProgressWebView mProgressWebView -> P
*****.online.ui.OnlineCoverViewContainer mExternalFrame -> Q
*****.online.ui.OnlineCoverViewManager mCoverViewManager -> v
android.view.View mRightShelfText -> w
.online.ui.ActivityOnlineHuaWei -> .online.ui.ActivityOnlineHuaWei表示对应的类,
下面的a b c d 表示对面的方法和字段。
怎么样,明白了吗