Hi experts!!!
Após muito procurar, resolvi pedir a ajudade de quem sabe mais…eheehhe
Estou fazendo uma aplicação CDC para um PDA Dell ARM com Win CE, mas me deparei com um problema.
Eu precisava realizar um Runtime.exec(), mas descobrir que que esse método não é implementado por muitas JVMs ( tipo a IBM J9 que estou usando), apesar de conseguir fazer-lo na Mysaifu. Contudo devo usar a J9, e vi que para contornar esse problema eu deveria utilizar JNI.
O grande problema que estou tendo, acho, é na hora de fazer o cross-compiler para o pda.
Procurei muitos compiladores arm-wince-pe-gcc, mas a maioria não consegue fazer o link ( undefine references ‘system’) por causa da chamada em C para executar command line… e quando consigo criar a dll… ao executar no PDA ele trava!!!
Já estou nessa busca tem umas duas ou três semanas… será que um alma caridosa não conseguiria me dar uma luz… me passando um link com um compilador que já tenha testado… ou verificando se tem algo errado no meu código???
Obrigado pela ajuda galera!!!
Abraços!!!
public class Player {
public native void play();
static{
System.out.println("loading.....");
// System.loadLibrary("teste");
System.loadLibrary("\\My Documents\\teste");
System.out.println("Library loaded");
}
public static void main(String[] args){
Player p = new Player();
System.out.println("Iniciando chamada do método da library");
p.play();
System.out.println("chamada realizada!!!");
}
}
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class Player */
#ifndef _Included_Player
#define _Included_Player
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Player
* Method: play
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_Player_play
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
#include "Player.h"
JNIEXPORT void JNICALL Java_Player_play(JNIEnv *env , jobject obj){
int i;
printf("Checking if processor is available...");
// if(system(NULL)) puts ("Ok");
// else exit (1);
printf("Executing tcpmp\n");
// i=system("\\Arquivos de Programas\\TCPMP\\player.exe \\My Documents\\Jogada_de_Craque_Sem_Cripto-118.mpg ");
// i=system("\"C:\\Documents and Settings\\agranado\\Desktop\\tcpmp.win32.0.71\\player.exe\" c:\\Jogada_de_Craque_Sem_Cripto-118.mpg ");
printf("The value returned was: %d.\n",i);
};