This is how it decides what is a valid android project: https://github.com/MobSF/Mobile-Security-Framework-MobSF/blob/c2993d194487cdfcd14a58aba59c380b6416a779/mobsf/StaticAnalyzer/views/android/static_analyzer.py#L473-L488
def is_android_source(app_dir):
"""Detect Android Source and IDE Type."""
# Eclipse
man = os.path.isfile(os.path.join(app_dir, 'AndroidManifest.xml'))
src = os.path.exists(os.path.join(app_dir, 'src/'))
if man and src:
return 'eclipse', True
# Studio
man = os.path.isfile(
os.path.join(app_dir, 'app/src/main/AndroidManifest.xml'),
)
java = os.path.exists(os.path.join(app_dir, 'app/src/main/java/'))
kotlin = os.path.exists(os.path.join(app_dir, 'app/src/main/kotlin/'))
if man and (java or kotlin):
return 'studio', True
return None, False