.jar ve .so Kütüphanelerini Android Projeye Eklemek

 

Merhaba dostlar bugün sizlerle Android projenize .jar ve .so kütüphaneleri eklemek istediğinizde yapmamız gerekenleri konuşacağız.

Öncelikle bu dosyalar nedir onu anlatalım. JAR (Java Archive) bir çok Java sınıfının ve dosyalarının içinde bulunduğu bir paket dosya formatıdır. İçindeki sınıfları ve dosyalarını kullanabilmek için projemize kütüphane olarak tanıtmamız gerekiyor bu dosyayı.

SO (Shared Object) dosyaları ise dinamik kütüphanelerdir, yani .so dosyasının içindeki kodlar çalışma zamanında (runtime) eklenir ve çalıştırılır.

 

Projemize .jar dosyası eklemek:

  1. Android Studioda projemizin içeriğini gördüğümüz sol kısımda Android yazan sekmeye tıklarsak diğer proje görünüm seçenekleri karşımıza çıkacaktır, orada Project seçeneğine tıklayalım. app dizininin altında libs klasörünü görmüş olmamız gerekiyor, .jar uzantılı kütüphanelerimizi içine kopyalıyoruz.

 

 

2. .jar dosyalarımızı libs klasörüne ekledikten sonra gradle dosyasına tanıtmamız gerekiyor, bunun için File>Project Stucture a tıklıyoruz. Açılan pencerede soldan app seçeneğine gelerek Dependencies sekmesini açıyoruz. Sağdaki + butonuna tıklıyoruz ve Jar dependency seçeneğini seçiyoruz.

 

 

Karşımıza açılan pencerede libs klasörünü görmüş olmamız gerekiyor, libs klasörünün içinde eklediğimiz .jar dosyalarını teker teker OK butonuna basarak ekliyoruz. Sonrasında dependency olarak eklenen .jar dosyalarımızı seçerek tekrar OK butonuna tıkladığımızda build.gradle dosyamıza kütüphanelerimizin eklendiğini göreceksiniz:

 

 

build.gradle (Module: app) dosyamız şu şekilde gözükecektir:

 

 

Projemize .so kütüphanelerini eklemek:

  1. İlk olarak .so dosyalarımızı projemize kopyalacağız, bunun için yeniden proje görünümünü Project yapıyoruz ve app>src>main klasörü altına jniLibs adında bir klasör açıyoruz. Bunu main‘e sağ tıkladıktan sonra new>Directory diyerek yapabilirsiniz. Aynı şekilde jniLibs altına da armeabi adında bir klasör daha açıyoruz ve içine .so uzantılı dosyalarımızı kopyalıyoruz.

Bu arada dostlar önemli ayrıntılardan biri ise .so dosyalarının bildiğiniz üzere C/C++ kodlarının derlenmiş halidir o yüzden bu kodların kullanılacak cihazlara göre farklı CPU mimarilerine göre derlenmiş olması gerekir. Benim kullandığım .so dosyaları ARM tabanlı CPU lar için olduğu için armeabi klasörü oluşturup altına kopyaladım dosyalarımı. Ekleyeceğiniz dosyaların hangi mimariler için derlenmiş olduğunu bilmeniz gerekmektedir kısacası.

 

2. Son olarak ise build.gradle (Module: app) dosyamızı açıyoruz ve dependencies içine aşağıdaki kodlarımızı yazıyoruz:

build.gradle (Module: app) dosyasının eklenecek olan kısmı:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
dependencies {
...
implementation fileTree(dir: "$buildDir/native-libs", include: 'native-libs.jar')

task nativeLibsToJar(type: Jar, description: 'create a jar archive of the native libs') {
destinationDir file("$buildDir/native-libs")
baseName 'native-libs'
from fileTree(dir: 'libs', include: '**/*.so')
into 'lib/'
}

tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn(nativeLibsToJar)
}
...
}

Evet dostlar bugün .jar ve .so kütüphanelerimizi Android projemize nasıl ekleyeceğimizi konuştuk, umarım işinize yarar ve kolay bir şekilde kullanabilirsiniz. Kendinize iyi bakın.

ahmet

Ahmet Kılınç - Software Developer

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.