Đang thử thiết bị đầu cuối của Jackpal

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

Tôi đang cố gắng lấy mã nguồn của jackpal để cải thiện ứng dụng của mình, nhưng tôi không thể nhận ra cách làm cho nó hoạt động.

Đây là một số dòng trong TermExec.java

public class TermExec {

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

Vì vậy, tại sao nó là "jackpal-termexec2" khi thư viện mà tôi đoán anh ta có nghĩa là được gọi là "termExec.cpp"?

Dù sao, không ai trong số họ làm việc, tôi đã thử cả hai (System.loadLibrary ("termExec"), nhưng tôi có một UnsatisfiedLinkError

Đây là thư mục app / src / main / cpp của tôi:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

và CMakeLists.txt của tôi (tuy nhiên, tôi không tìm thấy tệp CMakeLists.txt trong dự án của 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 29/07/2017.

lời khuyên của tôi là chỉ tập trung vào mô-đun kỳ hạn, tôi vừa cập nhật ngã ba của mình lên O

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

Tôi khuyên bạn nên sử dụng "android.deprecatedNdkCompileLease = 1501314830007" thay vì CMAKE. Trừ khi gerrit aosp sẽ bắt đầu di chuyển ra khỏi kế hoạch hiện tại của họ về xây dựng thư viện ndk, tôi không thực sự nhìn thấy một điểm trong việc sử dụng hình thức neutered trên ndk xây dựng trong studio. đặc biệt là xem xét các tài liệu khủng khiếp về hỗ trợ ndk trong studio nói chung.

hầu hết mọi người đều gặp vấn đề khi xin chào-jni để xây dựng anyways. Dù sao bạn sẽ probs muốn đăng các lỗi linker không hài lòng, và tên của lib không phụ thuộc vào tên của các tập tin nguồn.

Tôi biết tôi đã làm một công việc rất ghê gớm khi cập nhật nguồn, nhưng nó hoạt động trên chú chim mới nhất với phiên bản gradle mới nhất có sẵn.

Related questions

Hot questions

Language

Popular Tags