The standard way to make a key out of some information (like your serial number), is to use a Key derivation function (KDF). If you do not consider a brute force attack to the serial number a realistic threat, then HKDF would be the suggested route to go, otherwise you should use a password based KDF like SCrypt which is much slower (which is a good thing against brute forcing).
I feel obliged to add, that using nothing but a serial number as a secret will not give you a secure encryption. While 16 bytes are basically enuogh to thwart attackers these days, it has to be assumed that the serial numbers are not really random but do follow some pattern, thus making them nuch more easily guessable. So while this scheme will be ok if you just want to prevent accidental misuse or passive attackers, it will most certainly not be good enough against an active attacker.
Update after your comments to the question above:
SCrypt won't help you in that scenario, so should use HKDF to derive a key for symmetric encryption (probably AES). Since you obviously never have an online connection to your app, using a random salt also won't be possible. The only additional secret you could use to strengthen the process would have to be hardcoded in your app, protected by some code obfuscation. All this will protect you from the casual file sharer who just copies the file to a different device, but not from anyone more active.