Sinusubukang mag-emerhensiya ng Terminal Emulator ng jackpal

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

Sinusubukan kong kumuha ng source code ng jackpal upang mapabuti ang aking app, ngunit hindi ko mapagtanto kung paano ito gumagana.

Ang mga ito ay ilang mga linya sa TermExec.java

public class TermExec {

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

Kaya, bakit ito "jackpal-termexec2" kapag ang library na sa tingin ko siya ang ibig sabihin ay tinatawag na "termExec.cpp"?

Anyway, wala sa kanila ang nagtrabaho, sinubukan ko silang kapwa (System.loadLibrary ("termExec"), ngunit nakuha ko ang isang UnsatisfiedLinkError

Ito ang aking app / src / main / cpp na folder:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

at ang aking CMakeLists.txt (gayunpaman, wala akong nakitang CMakeLists.txt na file sa proyekto ng 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.

ang aking payo ay mag-focus lamang sa term module, inuubaya ko lang ang aking tinidor sa O

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

Inirerekumenda ko ang paggamit ng "android.deprecatedNdkCompileLease = 1501314830007" sa halip ng CMAKE. Maliban kung ang aosp gerrit ay magsisimulang lumipat mula sa kanilang kasalukuyang pamamaraan ng pagtatayo ng mga aklatan ng ndk, hindi ko talaga nakikita ang isang punto sa paggamit ng form na neutered sa ndk building sa studio. lalo na isinasaalang-alang ang kakila-kilabot na dokumentasyon sa suporta sa ndk sa studio sa pangkalahatan.

karamihan sa mga tao ay may mga isyu sa pagkuha ng hello-jni upang bumuo anyways. Anyways makikita mo probs nais na mag-post ang hindi nasisiyahan linker error, at ang pangalan ng lib ay hindi nakasalalay sa ang pangalan ng source file.

Alam kong ginawa ko ang isang napakahirap na trabaho sa pag-update ng pinagmulan, ngunit ito ay gumagana sa pinakabagong kanaryo na may pinakabagong bersyon ng gradle na magagamit.

Related questions

Hot questions

Language

Popular Tags