lunch中user和userdebug的区别

我们在android编译前会使用lunch进行选择:

  1. aosp_arm-eng
    2. aosp_arm64-eng
    3. aosp_mips-eng
    4. aosp_mips64-eng
    5. aosp_x86-eng
    6. aosp_x86_64-eng
    7. mini_emulator_arm64-userdebug
    8. m_e_arm-userdebug
    9. m_e_mips64-eng
    10. m_e_mips-userdebug
    11. mini_emulator_x86_64-userdebug
    12. mini_emulator_x86-userdebug
    13. rk3399_firefly_box-userdebug
    14. rk3399_firefly_box-user
    15. rk3399_firefly_edp_box-userdebug
    16. rk3399_firefly_edp_box-user
    请问user和userdebug的区别是什么?如13与14,15与16.
    为什么userdebug的就能编译通过,userr的都编译不通过?