vez una samsung recomendable queda que primera porcentaje por pasa musica mientras malo hasta escuchar encendido dias descargar dejar debe correctamente completamente como celular cargar cargando carga bueno bateria apagado air pinvoke jni amf interprocess

samsung - ¿Cómo puedo cargar el tiempo de ejecución de AIR como una biblioteca compartida en proceso desde un programa C?



hasta que porcentaje es recomendable cargar el celular (2)

Me gustaría crear un programa especial de iniciador de AIR en C a lo largo de las líneas de java.exe.

He examinado ejecutar programas AIR con un visor de procesos y pude localizar la DLL de tiempo de ejecución de AIR que se está utilizando. Los programas AIR son diferentes de Java, ya que se instalan como ejecutables específicos de la plataforma que vinculan el tiempo de ejecución de AIR como una biblioteca compartida en proceso una vez que se inician (el usuario hace doble clic en su icono).

Bueno, quiero hacer un lanzador de AIR que sea como java.exe.

Java.exe se inicia como un proceso de sistema operativo de plataforma que se une al tiempo de ejecución Java JVM (JRE) como una biblioteca compartida en proceso. La aplicación Java que se debe ejecutar se especifica como un argumento de línea de comandos para java.exe. Una vez que java.exe se está ejecutando y la JVM es completamente funcional, la clase de aplicación java especificada es cargada por el cargador de clases de JVM para su ejecución. Esa aplicación Java especificada se hace cargo, en cierto sentido, de "piratear" el proceso de java.exe. Por supuesto, la aplicación java especificada aparece en cualquier lista de proceso como el programa java.exe que la aloja.

Quiero hacer que el lanzamiento de la aplicación AIR funcione así. ¿Por qué? Así que puedo explorar formas de piratear AIR y quizás superar algunas de sus muchas, muchas deficiencias. Por ejemplo, para los principiantes, deseo extender la experiencia de tiempo de ejecución de AIR con algunas nuevas API que estén disponibles para la aplicación de AIR en ejecución.

Mi primer pedido de negocios sería:

  • Implemente una interfaz de enlace de ActionScript3 a C que sea comparable a .NET PInvoke
  • Agregue una API para el lanzamiento de procesos que sea comparable a las API encontradas en Java SE para hacer esto (Runtime.exec, ProcessBuilder, Process)
  • Agregue soporte para una aplicación de AIR para poder interactuar con stdin, stdout, stderr. Extrañamente, aunque Adobe agregó soporte para el acceso de archivos locales en AIR, han omitido la interacción con estos archivos de archivos estándar (sin embargo, se encuentran en cualquier plataforma de sistema operativo compatible con AIR).
  • Implemente el soporte de AMF sobre stdin, stdout, stderr, de modo que las aplicaciones AIR (o Java o cualquier lenguaje compatible con AMF) puedan interprocesar la comunicación mediante el intercambio de objetos AMF. Esto agregaría un toque de PowerShell de Microsoft a AIR.

Actualmente Merapi proporciona un puente AMF con Java, por lo que demuestra la eficacia de esto. Por desgracia, Merapi tiene que usar un puerto de host local y un zócalo para realizar la comunicación entre procesos, que es una manera torpe de usar en relación con el uso de las tuberías de interproceso stdin / stdout / stderr.


Lo que mi pregunta fue intentar hacer resultó estar prohibido por Adobe (en lo que respecta a cualquier uso comercial potencial):

De las Preguntas frecuentes sobre la distribución en tiempo de ejecución de Adobe® AIR ™ :

Distribuya o use el tiempo de ejecución de Adobe AIR, los archivos del instalador o los archivos del instalador extraídos de manera o propósito no documentado. Por ejemplo, no puede distribuir, llamar directamente ni escribir envoltorios para ninguna de las bibliotecas de Adobe AIR o componentes de tiempo de ejecución dentro de su aplicación de software . Runtime.dll, ejecutables de Runtime, template.exe y template.app son ejemplos de componentes de tiempo de ejecución.


Parece que quieres hacer un hacking AIR muy duro. No creo que alojar el tiempo de ejecución de AIR en tu propio proceso sea muy fácil. Pero podría considerar incorporar el control ActiveX de Flash Player. Como es solo un objeto COM, cualquier aplicación COM puede CoCreateInstance () Flash Player. La interfaz COM no está bien documentada, pero aquí hay algunos ejemplos que pueden ser útiles:

Si desea obtener un acceso aún más bajo, puede incrustar la máquina virtual Tarmain AS3 de fuente abierta . El código tiene un shell de línea de comandos de ejemplo llamado "avmshell". Si construye la máquina virtual Tamarin usted mismo, puede agregar nuevas clases de ActionScript implementadas en C ++ nativo. Tamarin (y Flash Player) implementan muchas de sus características usando este "pegamento AVM" entre AS y C ++.