First up. The Overflow icon at the right of each icon, isn't the best design approach you could take, since if it's a long list, it might mean to select each of them individually.
Second, There is a possibility that the user accidently selects the overflow icon of the wrong list view item and performs a negative action onto it.
The approach I would recommend taking is Design 1.
However, here are a few modifications I would make.
Instead of keeping the Checkbox visible at all times, I would recommend to keep it hidden and only visible on a Selection activity (say long-press or double-click, dependent on the platform and key mappings.)
As soon as the user selects one item, a Checkbox appears with a Tick against that item. Now he can perform any of the Actions.
Also, Design 1 is universally accepted as it is.