In addition to the other answer with Tasker ("You could do that using e.g. Tasker, the mighty automation tool:"), here a little Task (description export) with randomizing the MAC:
TestMacChanger (130)
A1: Variable Set [ Name:%count To:0 Do Maths:On Append:Off ]
<randomstart>
A2: Variable Randomize [ Name:%random Min:0 Max:15 ]
A3: Variable Convert [ Name:%random Function:Decimal to Hex Store Result In:%rhex ]
A4: Test Variable [ Type:Length Data:%rhex Store Result In:%len ]
A5: Variable Set [ Name:%rhex To:0%rhex Do Maths:Off Append:Off ] If [ %len eq 1 ]
A6: Variable Convert [ Name:%rhex Function:To Upper Case Store Result In: ]
A7: Variable Set [ Name:%mac To:%mac:%rhex Do Maths:Off Append:Off ] If [ %mac Set ]
A8: Variable Set [ Name:%mac To:%rhex Do Maths:Off Append:Off ] If [ %mac !Set ]
A9: Variable Add [ Name:%count Value:1 Wrap Around:0 ]
<randomend>
A10: Goto [ Type:Action Label Number:1 Label:randomstart ] If [ %count < 6 ]
A11: Variable Set [ Name:%mac To:00:11:22:33:44:55 Do Maths:Off Append:Off ] If [ %mac !Set ]
A12: Flash [ Text:%mac Long:On ]
A13: Run Shell [ Command:su
busybox ifconfig wlan0 hw ether %mac Timeout (Seconds):0 Use Root:On Store Output In:%output Store Errors In:%error Store Result In: Continue Task After Error:On ]
A14: Flash [ Text:%error Long:Off ] If [ %error Set ]
This is doing a loop for 6 random hex values to get a random mac as e.g. 01:4F:89:BA:3F:0C
Then it is setting this random mac as own mac.
I can see the new mac with this command:
busybox iplink show wlan0
After a reboot the old mac is reset.