Cómo verificar el idioma en que está escrita una aplicación de Android

Puede estar bastante seguro, pero primero debe conocer todas las tecnologías que pueden generar aplicaciones Android.

Si lo sabe, exporte la aplicación al APK y extráigala con la herramienta anu zip.

Luego verifique su contenido:

  • Si ve 1 clase y / activos llenos de contenido HTML, entonces es probable que Phonegap / Cordova
  • Si toca ver carpetas nombradas como Appcelerator o Titanium, entonces es Titanium Appcelerator
  • Si ve algo como una estructura nativa de Android normal, descompile APK usando alguna herramienta en línea. Cuando lo haga, podrá ver si usaron solo Java o C ++ (de lo que ve muchos archivos .so
  • Si reconoce el idioma Kotlin, entonces es Kotlin. Verás que el código no es Java
  • Para otras tecnologías, no estoy seguro, pero estoy bastante seguro de que debe haber algo que lo identifique.

Como señala Bastien Koert, es difícil distinguirlo del código compilado. También es importante tener en cuenta que en la mayoría de los casos no se trata solo de un idioma.

Como ejemplo, una aplicación de iOS que consulté sobre desarrollo se creó en el entorno Unity 3D. Nuestros scripts de código principal donde C #. El motor de Unity está escrito en C / C ++. Teníamos algunas necesidades especiales de rendimiento, así que hicimos partes en el Objetivo C. El único SDK que utilizamos estaba escrito en JavaScript. El software está integrado en módulos y “enlazados” juntos. Los módulos se pueden escribir en cualquier idioma siempre que los protocolos de enlace / llamada se alineen y el entorno de desarrollo sepa cómo vincularlos.

Si eres lo suficientemente experto en tecnología, puedes buscar expresiones idiomáticas (patrones de código de bytes) utilizadas por diferentes compiladores y buscar en el archivo de la aplicación esos patrones binarios, pero debes ser bastante dedicado a resolver todo eso.

La verdadera pregunta es ¿por qué importa? Cualquier aplicación podría recrearse exactamente con un idioma diferente. Quizás con más o menos esfuerzo.

Muchas empresas de desarrollo de aplicaciones tienen blogs de tecnología u otros lugares donde los desarrolladores publican mucho. Esa sería la mejor manera de aprender cómo se desarrolló la aplicación.

Resources.getSystem (). GetConfiguration (). Locale;

Resource.getSystem () devuelve un objeto de recursos compartidos global que proporciona acceso solo a recursos del sistema (sin recursos de aplicación) y no está configurado para la pantalla actual (no puede usar unidades de dimensión, no cambia según la orientación, etc.).

Debido a que getConfiguration.locale ahora ha quedado en desuso, la forma preferida de obtener la configuración regional principal en Android Nougat es:

Resources.getSystem (). GetConfiguration (). GetLocales (). Get (0);

Para garantizar la compatibilidad con las versiones anteriores de Android, una posible solución sería una simple comprobación:

Locale locale;
if (Build.VERSION.SDK_INT> = Build.VERSION_CODES.N) {
locale = Resources.getSystem (). getConfiguration (). getLocales (). get (0);
} más {
// desaprobación sin inspección
locale = Resources.getSystem (). getConfiguration (). locale;
}

https://stackoverflow.com/questions/4212320/get-the-current-language-in-device

Configuración-idioma. Eso es ! (El diseño puede ser diferente de un dispositivo a otro y los fabricantes de los fabricantes).

Averigüe quién creó la aplicación, lo que tal vez sea más fácil de hacer. Luego vaya a su sitio web y vea qué tipo de trabajos de TI tienen. Los idiomas que citan probablemente sean los que usan.

Eso puede ser interesante. Todos los idiomas se traducen al código de bytes jvm durante el proceso de compilación, por lo que sería difícil saber dónde comenzó.