AFAIK you cannot change Android ID without root or without performing a factory reset.
For my own and future visitors' reference, I'll explain what you asked in the comment:
Would a factory reset also lead to a different app-specific ID?
Android documentation is not very clear about this:
"The value may change if a factory reset is performed on the device or if an APK signing key changes."
As I explained in my answer to Where is the "android_id" stored and when does it change?, since Android 8 every app gets a unique Android ID which is saved in file:
/data/system/users/<User_ID>/settings_ssaid.xml
Since the file is not accessible without root, it's not possible to change the ID for a specific app.
Android 11 source code shows that the app-specific Android ID is generated based on two parameters: a random ID generated on first use to identify a user ID (in multi-users or work profiles), and the app's signing key.
Since the user ID is randomized after a factory reset, the app-specific Android ID should also change.
Without root and factory reset the only thing we can change is the package's signing keys, which may not always be very feasible and requires some good hacking skills.
With root access you can edit the file mentioned above. It contains the user ID as well as the app-specific Android IDs. Simply changing the Android ID will do the trick.
But if you reinstall or update the app the original Android ID (created by Android OS) will come back (since the randomly generated user ID and the package's signing key isn't changed). So you need to edit the file again. Or you can remove the user ID as well from the file (the line with name="userkey"
) which makes the changes permanent.
After making changes to the file, a reboot might be required if Android framework is caching the values somewhere.