Trying to fork jackpal's Terminal Emulator

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

I'm trying to take jackpal's source code to improve my app, but I can't realize how to make it work.

These are some lines in TermExec.java

public class TermExec {

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

So, why is it "jackpal-termexec2" when the library that I guess he's meaning is called "termExec.cpp"?

Anyway, none of them worked, I tried them both (System.loadLibrary("termExec"), but I got an UnsatisfiedLinkError

This is my app/src/main/cpp folder:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

and my CMakeLists.txt (however, I didn't find a CMakeLists.txt file in jackpal's project)

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.

my advice is to just focus on term module, I just updated my fork to O

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

I recommend using the "android.deprecatedNdkCompileLease=1501314830007" instead of CMAKE. Unless aosp gerrit is going to start moving away from their current scheme of building ndk libraries, I don't really see a point in using the neutered form on ndk building in studio. especially considering the horrible documentation on ndk support in studio in general.

most people have issues getting the hello-jni to build anyways. Anyways you'll probs want to post the unsatisfied linker error, and the name of the lib isn't dependent on the name of the source files.

I know I did a very horrid job of updating the source, but it works on newest canary with the latest gradle version available.

Related questions

Hot questions

Language

Popular Tags