"A virus" is an app you don't want, or an app that you want, but that's doing something you don't want, and is propagating itself to other devices. Malware is any app you don't want, or an app that you want, but that's doing something you don't want.
There's nothing special about a malware that marks it as malware, it's just an app. It's what it does that makes it malware. An app that propagates itself trough Android devices that eliminates a particularly difficult-to-get-rid-if-virus is a virus - but one that's doing something good.
There's no way by just looking at an app to tell if it's malware of any kind. Anti-malware apps (including antivirus apps) maintain a database of "code snippets", strings of code peculiar to particular malware apps (and good ones maintain databases of millions of them, updated at least a few times a week as new malware is discovered), so they can "recognize" the code of something you don't want.
One other way of not getting viruses on Android is to NEVER install anything from Cheetah Software. Google them and you'll see articles going back 5 years accusing them of data theft using "free" apps, like Clean Master and CM launcher.