@linhmieu2 You need to determine the VNDK level of your Android firmware, e.g. with adb shell getprop | grep vndk or using the Treble info app. Use that number to look up the corresponding Android version, e.g. at API levels. For example, if the VNDK version is 34, then you need to put deviceinfo_halium_version="14" in your deviceinfo file.
The VNDK level is the API version level, and this it what counts for halium. Note that the version derived in this way may not correspond the Android version your device displays. E.g. I have a OnePlus 11 running Android 15, but the VNDK version is still 33, which corresponds to Android 13. For this device, I need to use 13 as the halium version.
You may also want to put the number as ApiLevel into the /etc/gbinder.conf file in your system overlay.
There is no "Android 12 kernel". I think it would be better if you post the concrete problems you encounter. The telegram group for porters is also a good place to ask or search for answers.
Kai