Bonjour,

J'ai un projet sous eclipse, il fonctionne parfaitement cependant j'aimerai le faire migré sur Android Studio car eclipse vous m'avez compris.

Ce projet est composé une librairie codé en C.

sous eclipse le projet avait cette architecture :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
mon projet 
   -> src  dossier
   -> jni   dossier
        -> dossierDifferenteClass en c  contenant des .h et des .m
        -> Android.mk 
    -> libs 
          -> ameabi     dossier
                -> lib.so
          -> android-support.jar
     -> src
sous Android Studio mon projet à cette architecture :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
src -> main 
            -> java     dossier
            -> jniLib    dossier
                   -> armeabi         dossier        je sais pas où le mettre dans un dossier lib standard Android studio ou il est au bonne endroit ? :aie:     
                           -> lib.so  
                    -> dossierDifferenteClass en c  contenant des .h et des .m
                    -> Android.mk
mon gradle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.8.+'
    }
}
apply plugin: 'android'
 
repositories {
    mavenCentral()
}
 
android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"
 
    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
 
    buildTypes.debug.jniDebugBuild true
 
    productFlavors {
        x86 {
            ndk {
                abiFilter "x86"
            }
        }
        arm {
            ndk {
                abiFilter "armeabi-v7a"
            }
        }
        mips {
            ndk {
                abiFilter "mips"
            }
        }
    }
 
    tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
        pkgTask.jniFolders = [new File(buildDir, 'lib')]
    }
}
 
dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
}
J'ai regardé le tutoriel sur developpez.com ça semble être un projet simple donc aucune complication comme ici.

Mon projet compile bien cependant au chargement de la librairie ça plante avec ce message :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
java.lang.UnsatisfiedLinkError: Couldn't load maLib from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.ax.audio_record-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.ax.audio_record-2, /vendor/lib, /system/lib]]]: findLibrary returned null
            at java.lang.Runtime.loadLibrary(Runtime.java:358)
            at java.lang.System.loadLibrary(System.java:526)
            at com.ax.audio_record.MaClass.<clinit>(MaClass.java:24)
code qu'il exécute lorsque ça plante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
System.loadLibrary("maLib");
rappel ce projet fonctionne parfaitement sur eclipse...

Si vous aurez une solution je suis preneur

merci d'avance

Cordialement,