Jackpal'ın Terminal Emulator'unu çatallamaya çalışıyorum.

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

Uygulamamı geliştirmek için jackpal'ın kaynak kodunu almaya çalışıyorum, ancak nasıl çalışacağını anlayamıyorum.

Bunlar TermExec.java'da bazı satırlar

public class TermExec {

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

Öyleyse, neden "termExec.cpp" olarak adlandırıldığını tahmin ettiğim kütüphane "jackpal-termexec2" deniliyor?

Her neyse, hiçbiri işe yaramadı, ikisini de denedim (System.loadLibrary ("termExec")), ama bir UnsatisfiedLinkError aldım

Bu benim app / src / main / cpp klasörüm:
common.cpp
common.h
fileCompat.cpp
fileCompat.h
process.cpp
process.h
termExec.cpp
termExec.h

ve benim CMakeLists.txt (ancak, jackpal'in projesinde bir CMakeLists.txt dosyası bulamadım)

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.

tavsiyem sadece dönem modülü üzerine odaklanmak, sadece çatalımı O'ya güncelledim

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

CMAKE yerine "android.deprecatedNdkCompileLease = 1501314830007" kullanmanızı öneririz. Aosp gerriti şu anki ndk kütüphaneleri olan şemalarından uzaklaşmaya başlamayacaksa, stüdyodaki ndk binasında kısırlaştırılmış formu kullanmanın bir noktasını gerçekten görmüyorum. Özellikle stüdyoda genel olarak ndk desteği hakkında korkunç belgeler göz önünde bulundurularak.

Çoğu insan, merhaba-jni'yi zaten inşa etmekle ilgili sorunları var. Her neyse, sizden tatmin edici olmayan linker hatasını yayınlamak isteyeceksiniz ve lib dosyasının ismi kaynak dosyaların ismine bağlı değildir.

Kaynağını güncellemek için çok korkunç bir iş yaptığımı biliyorum, ancak mevcut en yeni graper sürümü ile en yeni kanaryada çalışıyor.

Related questions

Hot questions

Language

Popular Tags