IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Integrer JAAS (javax.security.auth.*) a une appli Android


Sujet :

Android

  1. #1
    Membre expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 475
    Points : 3 004
    Points
    3 004
    Par défaut Integrer JAAS (javax.security.auth.*) a une appli Android
    Hello,

    J'essaie de réaliser une petite appli de démo sur un Android 1.5 (SDK 3 donc) en utilisant Eclipse et ADT. J'ai besoin d'utiliser la lib JAAS dans mon appli. Jaas n'est pas dans la JVM Android, il faut que je le rajoute a la main, or comme son nom de package commence par javax, le packager ne veut pas marcher, en me pretextant:

    Citation Envoyé par Ce satanné packager qui pense mieux faire du Java que moi
    [2011-02-07 10:35:42 - bonita-android15-todolist]: Dx
    trouble processing "javax/security/auth/Debug$1.class":

    Ill-advised or mistaken usage of a core class (java.* or javax.*)
    when not building a core library.

    This is often due to inadvertently including a core library file
    in your application's project, when using an IDE (such as
    Eclipse). If you are sure you're not intentionally defining a
    core class, then this is the most likely explanation of what's
    going on.

    However, you might actually be trying to define a class in a core
    namespace, the source of which you may have taken, for example,
    from a non-Android virtual machine project. This will most
    assuredly not work. At a minimum, it jeopardizes the
    compatibility of your app with future versions of the platform.
    It is also often of questionable legality.

    If you really intend to build a core library -- which is only
    appropriate as part of creating a full virtual machine
    distribution, as opposed to compiling an application -- then use
    the "--core-library" option to suppress this error message.

    If you go ahead and use "--core-library" but are in fact
    building an application, then be forewarned that your application
    will still fail to build or run, at some point. Please be
    prepared for angry customers who find, for example, that your
    application ceases to function once they upgrade their operating
    system. You will be to blame for this problem.

    If you are legitimately using some code that happens to be in a
    core package, then the easiest safe alternative you have is to
    repackage that code. That is, move the classes in question into
    your own package namespace. This means that they will never be in
    conflict with core system classes. JarJar is a tool that may help
    you in this endeavor. If you find that you cannot do this, then
    that is an indication that the path you are on will ultimately
    lead to pain, suffering, grief, and lamentation.

    [2011-02-07 10:35:42 - bonita-android15-todolist]: Dx1 error; aborting
    [2011-02-07 10:35:42 - bonita-android15-todolist] Conversion to Dalvik format failed with error 1
    Donc il me dit que si je veux que ca marche, il faut que je force l'inclusion de package systeme, en utilisant le flag --core-library. Ca me gene pas, mais ou dans Eclipse ou ailleurs, je peux setter ce flag ou n'importe quel autre option pour le build?

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,

    Je pense que ton erreur vient du faite que Java Android (Dalvik) != Java (Sun).

    Ta librairie doit être compilée avec la JVM de Sun, donc ne fonctionne pas sur les JVM de type Dalvik.

  3. #3
    Membre expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 475
    Points : 3 004
    Points
    3 004
    Par défaut
    Ok, je vais essayer de récupérer le code directement et de le compiler dans mon app. Pas tres classe...
    Donc si je comprends bien, ca veut dire que Dalvik ne comprend pas le meme bytecode qu'une "vraie" JVM ?

  4. #4
    Membre expert
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 475
    Points : 3 004
    Points
    3 004
    Par défaut
    Ok, j'ai un peu mieux compris. Dalvik n'est pas une JVM ! C'est juste une VM qui lit des .dex, le format android... Et pour passer de Java (.class) a Android (.dex), il faut utiliser une appli qui s'appelle dx. Or cette appli veut a tout pris qu'on lui passe --core-library en flag pour processer des .class dont le package commence par java ou javax...

    Ma question est donc maintenant, comment tweaker le build pour pouvoir donner un argument a dx.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/07/2014, 12h06
  2. Réponses: 5
    Dernier message: 25/08/2011, 17h47
  3. Connexion à un serveur Oracle via une appli Android
    Par Eriatolc dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 26/04/2011, 23h53
  4. Publier une appli Android
    Par JCMANSION dans le forum Android
    Réponses: 0
    Dernier message: 23/09/2010, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo