Cómo compilar la carpeta jni de telegrama
Estoy tratando de compilar la carpeta jni en el código fuente del telegrama en github.com/DrKLO/Telegram/ con ndk
Pero cuando estoy escribiendo ndk-build en cmd en la carpeta ndk como:
- Cómo mantener un objeto C ++ dentro del código Java? ¿Posible?
- Invocación de funciones JNI en el nombre del paquete de Android que contiene subrayado
- JNI de Android no encuentra archivos de encabezado de biblioteca estándar de C ++
- Comportamiento sorpresa de eclipse para archivos C mientras se utiliza JNI, ¿Por qué?
- ¿Cómo hacer una llamada correcta desde Android a una función no estática en Java? (Cocos2Dx en la mezcla)
F: \ ndk \ android-ndk-r10> ndk-build -CF: \ Espacio de Trabajo \ Androide \ Telegram-master-1-12-2016 \ Telegram-master \ TMessagesProj \ jni
Recibo una carpeta de error y libs no creada
Cuando agrego la trayectoria de ndk al estudio del androide y agrego la carpeta del jni manualmente el estudio del androide no puedo encontrar algunos archivos de la cabecera
Después de esta pregunta descarga Cygwin y usarlo, pero de nuevo obtener este error como ndk-build
$ndkbuild
[Armeabi] SharedLibrary: libtmessages.15.so
Process_begin: CreateProcess (……..,
F: / ndk / android-ndk-r10 / fuentes / cxx-stl / gnu-libstdc ++ / 4.8 / libs / armeabi /thumb/libgnustl_static.a -lgcc -no-canonical-prefixes -Wl, – no-undefined -Wl -z, noexecstack -Wl, -z, relro -Wl, -z, ahora -LF: / ndk / android-ndk-r10 / plataformas / android- 9 / arch-arm / usr / lib -ljnigraphics -llog -lz -ldl -lc -lm -o F: / Espacio de trabajo / Android / Telegram-master-1-12-2016 / Telegrammaestro / TMessagesProj // obj / local / armeabi / libtm essages.15.so, …) falló
Make (e = 87): El parámetro es incorrecto.
Make.exe: *** [F: /Workspace/Android/Telegram-master-1-12-2016/Telegram-master/TMessagesProj//obj/local/armeabi/libtmessages.15.so] Error 87
¿Cómo arreglar esto?
- Cómo crear jni y Android.mk?
- Env-> FindClass función devuelve null
- Ejecutar código en el subproceso principal / UI en Cocos2dx
- Mantenga en "Tratar de cargar lib" y no hay retorno para siempre
- No se pudo cargar la aplicación Android SDK
- Gradle de Android, libs nativas para diferentes arquitecturas
- Android Studio 1.5 Gradle Experimental: no se puede generar código JNI
- Codificación de vídeo en Android mediante cv :: Mat y MediaCodec
Problema de actualización importante: en la versión 3.18, después de descargar el proyecto de fuente de telegrama, si vas a la carpeta jni encontrarás y vacía la carpeta llamada libtgvoip, para llenarla con los archivos necesarios: 1- vaya al origen del telegrama de githum, goto jni carpeta y haga clic En la carpeta libtgvoip @ eb813e1 (@ significa que se trata de una carpeta refrence). 2- Descargue esa biblioteca también! 3- copiar su contenido en la carpeta vacía discutido anteriormente!
Ahora vamos a empezar: Es muy fácil.
1- Agregue el directorio NDK a la variable PATH del entorno.
2- Abra Android.mk y agregue la siguiente línea: LOCAL_SHORT_COMMANDS: = true
3- Abra Application.mk y agregue la línea siguiente: APP_SHORT_COMMANDS: = true
4- Abra el símbolo del sistema como administrador y navegue a la carpeta jni como ésta: (importante: en la última versión del telegrama debe navegar a la carpeta jni parent en lugar de la carpeta jni)
5- Ejecutar el comando ndk-build
Entonces ndk comenzará a construir archivos .so:
Esperar hasta que termine la tarea, tal vez algunas advertencias se muestran, pero no es importante. Finalmente tendrás toda la biblioteca compartida (archivos .so) en el directorio obj: (importante: en la última versión del telegrama .so los archivos se crean en la carpeta lib y todo está listo para construir)
Luego ir a cada una de estas carpetas y eliminar todo, excepto libtmessages.22.so. Crear una carpeta libs y copiar ese directorio tres en él:
Construir y divertirse! (Recuerde llenar las variables en la clase org.telegram.messenger.BuildVars con su id de aplicación y app_hash. Lea más aquí )
Sólo tienes que quitar el archivo de objeto. Este error muy probablemente apareció después de que la compilación anterior se interrumpió y el archivo de objeto no se generó completamente.
- Google Map V2 en la mitad superior de la pantalla de Android y la vista de lista en la mitad inferior de la pantalla de Android
- Java.lang.RuntimeException: Parcel android.os.Parcel: Código desconocido del tipo de desconexión