Tentando empatar o emulador de terminal do jackpal

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

Estou tentando pegar o código-fonte do jackpal para melhorar meu aplicativo, mas não consigo perceber como fazer isso funcionar.

Estas são algumas linhas em TermExec.java

public class TermExec {

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

Então, por que é "jackpal-termexec2" quando a biblioteca que eu acho que ele está chamando é "termExec.cpp"?

De qualquer forma, nenhum deles funcionou, eu tentei os dois (System.loadLibrary ("termExec"), mas eu tenho um UnsatisfiedLinkError

Esta é minha pasta app / src / main / cpp:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

e meu CMakeLists.txt (no entanto, não encontrei um arquivo CMakeLists.txt no projeto do 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.

meu conselho é apenas focar no módulo de termos, eu acabei de atualizar meu fork para O

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

Eu recomendo usar o "android.deprecatedNdkCompileLease = 1501314830007" em vez de CMAKE. A menos que os gerrit vão começar a se afastar de seu esquema atual de construir bibliotecas ndk, eu realmente não vejo um ponto em usar a forma castrada na construção do ndk em estúdio. especialmente considerando a documentação horrível do suporte do ndk em estúdio em geral.

a maioria das pessoas tem problemas para fazer o hello-jni construir de qualquer jeito. De qualquer forma você vai querer postar o erro do vinculador insatisfeito, e o nome da lib não depende do nome dos arquivos de origem.

Eu sei que fiz um trabalho muito horrível de atualizar a fonte, mas funciona no mais novo canário com a versão mais recente do gradle disponível.

Related questions

Hot questions

Language

Popular Tags