android stadio mapping文件的使用

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 表示对面的方法和字段。

怎么样,明白了吗

原文地址:https://www.cnblogs.com/caoxinyu/p/10568724.html