Jump to content

Archived

This topic is now archived and is closed to further replies.

smartties

Application buggée avec le NDK

Recommended Posts

Salut, ayant fait l'acquisition d'un téléphone portable sous android j'ai voulu essayé de faire une application.

Mais ne connaissant pas le Java, j'ai regardé quel autre outil android proposait pour faire des applications et

je suis tombé sur le NDK qui permet de coder des applications en C/C++ (en passant parl'intermédiaire du SDK).

J'ai suivi quelque bout de code sur internet, et d'après ce que j'ai compris pour créer son application il faut

- créer le projet avec la commande : android create project ...

- créer un nouveau dossier JNI qui contient Android.mk et native.c

- compilé le projet avec le terminal cygwin avec la commande : ndk-build

- générer le fichier .apk avec la commande : ant debug

toutes c'est étapes ce passe sans erreur, Cependant quand je lance l' apk sur mon téléphone elle plante

elle m'affiche Android_Logcat-force-close.jpg (j'ai pris une image au pif sur internet)

Share this post


Link to post
Share on other sites

A oui j'avai oublié de dire le contenu de mes fichiers :

Android.mk :

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE    := ndkmain
LOCAL_SRC_FILES := native.c

include $(BUILD_SHARED_LIBRARY)

Main.java :

package com.JuniorAndroid.TUNandroid.hellondk;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;

public class Main extends Activity 
{

     static 
     {
     System.loadLibrary("ndkmain");
     }

   private native String invokeNativeFunction();

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);

          String ch = invokeNativeFunction();

         new AlertDialog.Builder(this).setMessage(ch).show();
    }
}

et pour finir native.c :

#include <jni.h>
#include <string.h>

jstring Java_com_JuionAndroid_TUNandroid_hellondk_Main_invokeNativeFunction(JNIEnv *env, jobject this)
{
 return (*env)->NewStringUTF(env, "Hello SmarttApp");
}

Et j'obtient cette apk : (je l'ai compressé parce que le forum n'accepte pas le format .apk apparament)

Share this post


Link to post
Share on other sites





×
×
  • Create New...