¿Se puede acceder a los valores definidos en MANIFEST.MF mediante programación?
¿Puedo acceder a los valores definidos en un manifiesto de java desde el código?
- No se puede resolver el símbolo 'R' en Android Studio: "la fusión manifiesta falló con varios errores, vea los registros"
- Android Studio 0.8.1 Fusión de manifiesto $ {applicationId} no disponible
- Permiso de escritura de archivos de Android 6.0 denegado
- Manifiesto del proceso Gradle con la nueva fusión de manifiesto
- Android: Intención de búsqueda no funciona
- Actividad abstracta de Android en el manifiesto
- ¿Qué es android: sharedUserLabel y qué valor agregado agrega en la parte superior de android: sharedUserID?
- Diferencia entre auto y preferExternal instal location Android manifiesto
- No se encontró ningún recurso que coincida con el nombre dado (en 'layout_alignTop' con el valor '@ id / imageView3')
- Permiso de manifiesto en Android Studio
- No apuntar a las últimas versiones de Android
- AndroidStudio: No se puede resolver el símbolo MainActivity
- OnCreate () no está siendo llamado
Abra el archivo con JarFile
y luego llame a getManifest()
para obtener el Manifest
. Después de eso, puede acceder a los atributos apropiadamente.
Muchos de los valores en el MANIFEST.MF se puede tener acceso mediante programación sin tener que buscar y / o abrir el archivo jar en sí.
La clase java.lang.Package
proporciona acceso a ImplementationTitle
, ImplementationVendor
, ImplementationVersion
, SpecificationTitle
, SpecificationVendor
y SpecificationVersion
.
La información sobre las clases firmadas se puede encontrar usando la clase CodeSource
, la cual puede ser recuperada vía Class
.getProtectionDomain()
.getCodeSource()
Aquí está un ejemplo simple de leer los atributos principales del manifiesto de JAR in situ . Es útil para revisar lo que realmente está allí.
Utilice la siguiente manera para detectar la información de JAR externo / SDK MANIFEST.MF. Podríamos usar esta información para detectar la versión de Jar, etc. Utilice http://docs.oracle.com/javase/6/docs/api/java/util/jar/Manifest.html
public void getSDKInfo() { Package pkg = Manifest.class.getPackage(); String specTitle = pkg.getSpecificationTitle(); String vendor = pkg.getSpecificationVendor(); String version = pkg.getSpecificationVersion(); }
Pruebe la clase de utilidad com.jcabi.manifests.Manifests
desde jcabi-manifests . Usando esta clase usted puede leer todos los archivos MANIFEST.MF disponibles con un forro:
String name = Manifests.read("Foo-Name");
También, vea este artículo: http://www.yegor256.com/2014/07/03/how-to-read-manifest-mf.html
- Vista personalizada Ampliación del diseño relativo
- Envío de SMS mediante programación sin necesidad de abrir la aplicación de mensajes