Próbuję rozwikłać Terminal Emulator jackpal

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

Próbuję pobrać kod źródłowy Jackpal, aby poprawić moją aplikację, ale nie mogę sobie poradzić, jak to zrobić.

To są niektóre linie w TermExec.java

public class TermExec {

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

Dlaczego więc jest to "jackpal-termexec2", kiedy biblioteka, o której myślę, że ma na myśli, nazywa się "termExec.cpp"?

W każdym razie żaden z nich nie działał, próbowałem ich obu (System.loadLibrary ("termExec"), ale dostałem UnsatisfiedLinkError

To jest folder my app / src / main / cpp:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

i mój CMakeLists.txt (jednak nie znalazłem pliku CMakeLists.txt w projekcie Jacka)

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.

moja rada to skupić się tylko na module terminów, właśnie zaktualizowałem swoje widły do ​​O

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

Polecam używanie "android.deprecatedNdkCompileLease = 1501314830007" zamiast CMAKE. Dopóki aosp gerrit nie zacznie odchodzić od obecnego schematu budowania bibliotek ndk, nie widzę sensu w używaniu wykastrowanej formy na budynku ndk w studio. szczególnie biorąc pod uwagę okropną dokumentację dotyczącą wsparcia ndk w studiach.

większość ludzi ma problemy z budowaniem hello-jni. W każdym razie będziesz próbować wysłać niezadowolony błąd linkera, a nazwa biblioteki nie zależy od nazwy plików źródłowych.

Wiem, że zrobiłem bardzo okropną robotę aktualizacji źródła, ale działa na najnowszym kanarze z najnowszą dostępną wersją gradle.

Related questions

Hot questions

Language

Popular Tags