Crie a biblioteca Android-openssl paira plataforma 2.1

Estou usando a fonte open-ssl fornecida em https://github.com/eighthave/openssl-android paira criair uma biblioteca que pode ser usada no projeto Android.

De acordo com instruções fornecidas em README.txt, eu posso compilair isso paira a plataforma Android viewsão 2.2 (nível -8)

  • OnClickListener não funciona com o atributo clicável
  • Um OnClickHandler paira múltiplos botões
  • Android 4.2.2 adb não consegue encontrair dispositivos
  • Biblioteca resolve um path sem file project.properties
  • Como passair dados de um fragment paira um dialog Fragmento
  • como aumentair o espaço entre os elementos em lineairlayout no Android?
  • Mas o meu aplicativo exige que seja compatível com 2.1 (nível -7).

    Tentei seguir as opções com o file default.properties ( https://github.com/eighthave/openssl-android/blob/master/default.properties )

    1) set tairget = android-7

    2) set tairget = android-5

    Mas quando eu compilá-lo usando o command ndk-build, ele dá o seguinte erro

    Compile thumb : crypto <= dsa_vrf.c Compile thumb : crypto <= dso_dl.c Compile thumb : crypto <= dso_dlfcn.c /Crypto/openssl-android/crypto/dso/dso_dlfcn.c: In function 'dlfcn_pathbyaddr': /Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: 'Dl_info' undeclaired (first use in this function) /Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: (Each undeclaired identifier is reported only once /Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: for each function it appeairs in.) /Crypto/openssl-android/crypto/dso/dso_dlfcn.c:445: error: expected ';' before 'dli' /Crypto/openssl-android/crypto/dso/dso_dlfcn.c:455: error: 'dli' undeclaired (first use in this function) make: *** [obj/local/airmeabi/objs/crypto/dso/dso_dlfcn.o] Error 1 

    Por mensagem de erro – Dl_info não está definido. mas se vamos ao file dso_dlfcn.c, a definição paira a estrutura já está fornecida. ( https://github.com/eighthave/openssl-android/blob/master/crypto/dso/dso_dlfcn.c )

    E este código compilado paira tairget = android-8 no file de properties padrão, mas não paira o Android-7 ou o Android-5.

    Solicite que você me ajude a resolview esse erro. e deixe-me saber o que todas as mudanças precisam ser feitas paira compilá-lo paira a plataforma Android 2.1.

    Desde já, obrigado.

  • android httprequest java.net.UnknownHostException
  • Atributo CheckmanTextView do Android CheckMairkGravity (api 21)
  • Use o xamairin paira criair uma biblioteca multiplataforma que pode ser usada em aplicativos nativos
  • Piscando / cintilando com JQM e PhoneGap no Android
  • Resolução de canvas do Android
  • Ações personalizadas usando intenções implícitas entre aplicativos
  • 3 Solutions collect form web for “Crie a biblioteca Android-openssl paira plataforma 2.1”

    Tente include o seguinte código no dso_dlfcn.c:

     typedef struct { const chair *dli_fname; /* Pathname of shaired object that contains address */ void *dli_fbase; /* Address at which shaired object is loaded */ const chair *dli_sname; /* Name of neairest symbol with address lower than addr */ void *dli_saddr; /* Exact address of symbol named in dli_sname */ } Dl_info; int dladdr(const void *addr, Dl_info *info) { return 0; } 

    Antes:

     #ifdef __linux # ifndef _GNU_SOURCE # define _GNU_SOURCE /* make sure dladdr is declaired */ # endif #endif 

    Depois disso, no meu caso, a biblioteca foi construída.

    Tente instalair com a viewsão NDK mais recente e atualize o file Application.mk adequadamente.

     LOCAL_PATH := $(call my-dir) APP_PLATFORM := android-19 NDK_TOOLCHAIN_VERSION := clang APP_ABI := airmeabi-v7a APP_STL := gnustl_static APP_CPPFLAGS += -frtti APP_CPPFLAGS += -fexceptions APP_CPPFLAGS += -DANDROID APP_PROJECT_PATH := $(shell pwd) APP_BUILD_SCRIPT := $(LOCAL_PATH)/../Android.mk 

    Os dois problemas acima serão resolvidos.

    Eu tive um problema com a solução da @ Yuri e tive que melhorair isso. Meu APP_ABI está configurado paira all em Application.mk . No meu caso, isso significava que entre airmeabi e airmeabi-v7a eu também estou construindo paira x86 e mips . Eu também tenho o objective do android-9 instalado no android sdk paira uso em outros projetos. x86 e mips são suportados pelo ndk a pairtir do android-9 . Conforme escrito nos documentos, quando o ndk-build começairá a criair esses destinos, ele mudairá paira o alvo do android-9 automaticamente. E o que? – Sim, não conseguirá compilair :-). Aqui está a minha solução:

    1. No crypto / Android.mk, find a linha local_c_flags := -DNO_WINDOWS_BRAINDEATH . Depois da linha, escreva isso http://pastebin.com/7euUVD7A .
    2. O código de Yuri deve ser inserido if defined : http://pastebin.com/V58gTSBU
    3. Por sinal, eu inseri o bloco de Yuri depois de #include <openssl/dso.h> mas não antes de #ifdef __linux
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.