Tratando de fork el emulador de terminal de jackpal

Andre99 07/01/2017. 1 answers, 34 views
java android android c++ android-ndk android-ndk jni

Estoy intentando tomar el código fuente de jackpal para mejorar mi aplicación, pero no puedo darme cuenta de cómo hacerlo funcionar.

Estas son algunas líneas en TermExec.java

public class TermExec {

static {
    System.loadLibrary("jackpal-termexec2");
} 

Entonces, ¿por qué es "jackpal-termexec2" cuando la biblioteca que supongo que quiere decir se llama "termExec.cpp"?

De todos modos, ninguno de ellos funcionó, los intenté a ambos (System.loadLibrary ("termExec"), pero obtuve un UnsatisfiedLinkError

Esta es mi carpeta de aplicaciones / src / main / cpp:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
proceso.h
termExec.cpp
termExec.h

y mi CMakeLists.txt (sin embargo, no encontré un archivo CMakeLists.txt en el proyecto de jackpal)

cmake_minimum_required(VERSION 3.4.1)

add_library( # Specifies the name of the library.
         common

         # Sets the library as a shared library.
         SHARED

         # Provides a relative path to your source file(s).
         src/main/cpp/common.cpp )

add_library( # Specifies the name of the library.
         fileCompat

         # Sets the library as a shared library.
         SHARED

         # Provides a relative path to your source file(s).
         src/main/cpp/fileCompat.cpp )

add_library( # Specifies the name of the library.
         process

         # Sets the library as a shared library.
         SHARED

         # Provides a relative path to your source file(s).
         src/main/cpp/process.cpp )



add_library( # Specifies the name of the library.
         termExec

         # Sets the library as a shared library.
         SHARED

         # Provides a relative path to your source file(s).
         src/main/cpp/termExec.cpp )

include_directories(src/main/cpp/) 

1 Answers


Surge1223 07/29/2017.

mi consejo es que solo me concentre en el módulo de términos, simplemente actualicé mi tenedor a O

https://github.com/Surge1223/Android-Terminal-Emulator.git

Recomiendo usar "android.deprecatedNdkCompileLease = 1501314830007" en lugar de CMAKE. A menos que aosp gerrit empiece a alejarse de su esquema actual de compilación de librerías ndk, realmente no veo un punto en el uso de la forma neutralizada en el edificio ndk en el estudio. especialmente teniendo en cuenta la horrible documentación sobre el soporte ndk en el estudio en general.

la mayoría de las personas tiene problemas para construir el hello-jni de todos modos. De todos modos, querrás publicar el error del enlazador insatisfecho y el nombre de la lib no depende del nombre de los archivos fuente.

Sé que hice un trabajo horrible al actualizar la fuente, pero funciona en el canario más nuevo con la última versión gradle disponible.

Related questions

Hot questions

Language

Popular Tags