Applications that support armv7a and armv8a have *two sets* of machine code included: * One set for armv7a * One set for armv8a Your armv7a device can happily run the code that's intended for it, and which it can understand and run. It can't understand armv8a code at all, and is unable to run it. Applications that only support armv8a thus can't be run, so Android prevents you from installing them.