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 :
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
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
mon gradle :
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
J'ai regardé le tutoriel sur developpez.com ça semble être un projet simple donc aucune complication comme ici.
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' }
Mon projet compile bien cependant au chargement de la librairie ça plante avec ce message :
code qu'il exécute lorsque ça plante :
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)
rappel ce projet fonctionne parfaitement sur eclipse...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 System.loadLibrary("maLib");
Si vous aurez une solution je suis preneur
merci d'avance
Cordialement,
Partager