Försöker att gaffla jackpalms Terminal Emulator

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

Jag försöker ta jackpals källkod för att förbättra min app, men jag kan inte inse hur jag får det att fungera.

Det här är några rader i TermExec.java

public class TermExec {

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

Så varför är det "jackpal-termexec2" när biblioteket som jag antar att han menar kallas "termExec.cpp"?

Hur som helst, ingen av dem arbetade, jag försökte dem båda (System.loadLibrary ("termExec"), men jag fick en UnsatisfiedLinkError

Det här är min app / src / main / cpp-mapp:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

och min CMakeLists.txt (men jag hittade inte en CMakeLists.txt-fil i jackpal s projekt)

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.

Mitt råd är att bara fokusera på termmodulen, jag uppdaterade just min gaffel till O

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

Jag rekommenderar att du använder "android.deprecatedNdkCompileLease = 1501314830007" istället för CMAKE. Om inte aosp gerrit ska börja flytta från deras nuvarande system för att bygga ndk-bibliotek, ser jag inte riktigt en punkt på att använda den neutraliserade formen på ndk-byggnaden i studion. särskilt med tanke på den hemska dokumentationen om ndk-support i studion i allmänhet.

de flesta har problem att få hallå-jni att bygga ändå. Hur som helst kommer du probs att lägga in det missnöjda länkfelet, och namnet på lib är inte beroende av källfilens namn.

Jag vet att jag gjorde ett mycket hemskt jobb med att uppdatera källan, men det fungerar på nyast kanarie med den senaste gradvisa versionen tillgänglig.

Related questions

Hot questions

Language

Popular Tags