Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

Android e JNI

Discussione in 'Development' iniziata da ArconteOscuro, 3 Giu 2010.

  1. ArconteOscuro

    ArconteOscuro Baby Droid

    Iscritto:
    31 Mag 2010
    Messaggi:
    9
    "Mi Piace":
    0
    Ciao, il progetto di Android su cui sto lavorando utilizza del codice C.
    Ora la classe principale dell'applicazione (l'Activity per intenderci) si trova nel package com.example.prova

    La classe di interfaccia alla libreria con il codice C e' cosi' definita:

    Codice:
    
    package com.example.prova;
    
    public class DiskIO {
    
    	static {
    	System.loadLibrary("DiskIO");
    	}
    
    	public native int write( byte[] dat_out );
    
    	public native byte[] read();
    }
    
    
    ed eseguendo l'applicazione tutto funziona.

    Se pero' io metto la classe di interfaccia in un altro package quando eseguo l'applicazione si pianta e dal debugger mi dice che non trova il codice quando cerca di eseguire i metodi C.

    Da logcat sembrerebbe che la libreria JNI venga caricata nel package principale dell'applicazione (in questo caso com.example.prova) e risulta quindi inesistente un diferimento a tale libreria dall'altro package.

    Avete idea di come si possa caricare una libreria tramite JNI in un package diverso da quello dell'applicazione?

    Ciao e grazie
    Sandro
     
  2. ArconteOscuro

    ArconteOscuro Baby Droid

    Iscritto:
    31 Mag 2010
    Messaggi:
    9
    "Mi Piace":
    0
    Ho provate a creare un java project normale che contiene la libreria C tramite JNI e poi importare il Jar in un progetto Android ma mi da quest'errore:

    [2010-06-04 11:04:42 - Tester_LQI-RSSI] The library 'Smart_IO.jar' contains native libraries that will not run on the device.
    [2010-06-04 11:04:42 - Tester_LQI-RSSI] The following libraries were found:
    [2010-06-04 11:04:42 - Tester_LQI-RSSI] - libs/armeabi/libDiskIO.so
     
  3. blackgin

    blackgin Silver Droid

    Iscritto:
    29 Gen 2009
    Messaggi:
    3.462
    "Mi Piace":
    32
    Beh secondo lui quella libreria non funzionerebbe sul dispositivo
     
  4. ArconteOscuro

    ArconteOscuro Baby Droid

    Iscritto:
    31 Mag 2010
    Messaggi:
    9
    "Mi Piace":
    0
    parlando con alcuni colleghi a questo riguardo e' venuto fuori che, molto probabilmente, dovrei cercare di creare una libreria per android, una sorta di progetto Android senza il manifest e senza una Activity.

    e' possibile?