'u kullanarak Android Studio'daki deneysel toplama eklentisini (com.android.tools.build:gradle) kullanan yeni bir projeye 2. .so önceden oluşturulmuş kitaplıklar ekledim -Deneysel: 0.6.0-beta5).Android Studio'da java'dan önceden oluşturulmuş native .so kütüphanesini kullanarak, deneysel toplama eklentisi
apply plugin: 'com.android.model.application'
model {
repositories {
prebuilt(PrebuiltLibraries) {
gstplayer {
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("libs/libgstplayer.so")
sharedLibraryFile = file("libs/libgstreamer_android.so")
}
}
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.myexample.gstreamertest2"
minSdkVersion.apiLevel 19
targetSdkVersion.apiLevel 23
versionCode 1
versionName "1.0"
buildConfigFields {
create() {
type "int"
name "VALUE"
value "1"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file('proguard-rules.pro'))
}
}
ndk {
moduleName "gstplayer"
}
productFlavors {
create("flavor1") {
applicationId "com.app"
}
}
// Configures source set directory.
sources {
main {
// jni {
// source {
// srcDirs = ['src/main/jni']
// }
// }
jniLibs {
dependencies {
library "gstplayer"
}
}
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
}
Gradle inşa başarılı olduğunu, ancak her yerde bu kitaplıkları başvuru ile ilgili yönergeler bulamıyor:
Benim build.gradle dosyası bu gibi görünüyor. Java dosyanızda public native String getInfoFromJni()
oluşturabileceğinizi ve jni klasörünüzde native .c dosyalarını referans gösterebileceğinizi biliyorum ve bu çalışmayı başarabiliyorum, ancak .so kütüphaneleriyle benzer bir şeyi nasıl yapacağımı bilmiyorum.
.so kitaplıklarındaki yöntemlere java'dan nasıl erişirim?
çatışmaları önlemek için modulename adını değiştirin 1.-:
ben gstplayerwrapper.c içinde kütüphane ithal ve – MarkyDD
görebildiğim ilk hata libgstplayer.so çağırıyor ile mücadele ediyorum parçası Kütüphanenizin başlıklarını gradle dosyasına eklememenizdir. –
.so kütüphaneleri oldukça geniştir ve çok tanıdığım bir üçüncü parti kütüphanesidir. Hangi .h dosyalarını ihtiyacım olduğunu nasıl bilebilirim? Bu kütüphanede yüzlerce var. Üçüncü parti kitaplıktan "include" dizinini ekledim ve Android Studio'da yaptığımda tonlarca #include hatası var. Ne olursa olsun komut satırında ndk-build kullanarak başarıyla oluşturur, ancak bu .h dosyalarını jni'ime eklediğimde ve Android Studio'da oluşturduğumda '' klasörünün diğer dosyalarına başvuruyorlarsa bulunamazlar. –
MarkyDD