31 Ekim 2016 Pazartesi

Cordova ile Android Release Oluşturma ve Apk İmzalama İşlemi

Merhaba, bu yazımda geliştirmesini yaptığınız mobil projenin  çıktısının nasıl alınacağını paylaşacağım. Ayrıca aldığınız çıktının playstore da yayınlanabilir hale gelmesi ve mobil cihazlara kurulabilmesi için bir  sertifika ile imzalanması gerekmektedir. Bu aşamaları sırasıyla paylaşacağım;

Cordova ile Andorid için apk output'u oluşturmak için

Cordova ile proje oluşturun
#cordova create sample com.sample.app 'Sample Application' 


Proje dizinine gidin
#ls -la
#cd sample/ 


Desteklenen Platformları Ve Yüklenen Platformları Listeleyin
#cordova platform ls 


Android ve Ios platformlarını Projeye ekleyin
#cordova platform add android
#cordova platform add ios 


Tekrar platformları listelediğinizde yüklenen platformları göreceksiniz
#cordova platform ls 


Cordova ile android dosyası (.apk uzantılı) oluşturun
#cordova build android --release 


bu işlemden sonra unassigned olarak APK çıkacak.

output dizini :
/Users/levent.yildiz/Desktop/delete/sample/platforms/android/build/outputs/apk/android-release-unsigned.apk

imzalama işlemi için öncelikle key oluşturun
#keytool -genkey -alias samplekey -v -keystore samplekey.keystore 


oluşturduğunuz key ile imzalama yapın
#jarsigner  -verbose -keystore samplekey.keystore -storepass a12345 -keypass a12345  -signedjar ./signed.apk   /Users/levent.yildiz/Desktop/delete/sample/platforms/android/build/outputs/apk/android-release-unsigned.apk samplekey 


NOT: imzalama yaparken -signedjar parametresini kullanmazsanız  imzaladığınız apk dosyası unsigned olarak verdiğiniz apk dosyasını override eder.  Yani yeni bir output oluşturulmaz ancak  bu komuttan sonra  /Users/levent.yildiz/Desktop/delete/sample/platforms/android/build/outputs/apk/android-release-unsigned.apk dosyası imzalı hale geçer.

doğrulama yapmak için aşağıdaki komutu çalıştırabilirsiniz
# jarsigner -verify -verbose -certs signed.apk 


Cordova ile platform geçişleri // Virtual Device 'ı değiştirme

Merahaba, bu yazımda sizlere cordova ile çalışırken uygulamanızı farklı ortamlarda nasıl çalıştırabileceğinizi paylaşacağım.

Emulator ile varsayılanın dışında bir ortam yada o platformda çalışmak isterseniz aşağıdakileri uygulayarak geçiş yapabilirsiniz:

Yeni cordova projesi oluşturun
# cordova create sample com.sample.app 'cordova sample app' 

oluşturduğunuz proje dizinine gidin
#cd sample/ 

Eklenen ve eklenebilecek platformları görüntüleyin
#cordova platform ls  

Android platformunu projenize ekleyin
#cordova platform add android  

Android platformunun eklendiğinden emin olun.
#cordova platform ls 

Android,Java ve Gradle’in yüklü olduğundan emin olun
#cordova requirements 

Projenizi hangi emulatorlerle çalıştırabileceğinizi görün
#cordova run --list  

Projenizi çalıştırmak için emulator(Virtual Device) seçimini yapın
#cordova emulate --target='Nexus_10_API_23-tablet-marshmallow' 

Projenizi emulator ile çalıştırın
#cordova run android --emulator 

IOS geçişi için ise aşağıdaki adımları takip edin

iOS platformunu ekleyin
#cordova platform add ios 

Çalıştırılabilir emulator listesini görüntüleyin
#cordova run --list 

Iphone5S’i hedef emulator olarak set edin
#cordova emulate --target='iPhone-5s, 10.0' 

Iphone ile çalıştırın
#cordova run ios —emulator  

Manuel Olarak Gradle Kurulumu (MAC/Linux)

Merhaba,
bu yazımda sizlere gradle'in manuel olarak nasıl kurulacağından bahsedeceğim.
 Öncelikle gradle'i kullanmak için  Java'nın 7 den sonraki sürümleri sistemde kurulu olması gerektiğini hatırlatarak  adım adım bu işlemin nasıl gerçekleştirileceğini paylaşıyorum;

1-) Gradle'ı indirin
https://gradle.org/gradle-download/

2-) Dosyayı arşivden çıkarıp kurmak istediğiniz dizine taşıyın.
örn: /Users/levent.yildiz/DEVELOPMENT/TOOLS/GRADLE

3-) bash_profile dosyasını açın
# vi /Users/levent.yildiz/.bash_profile

4-) GRADLE_HOME değişkenini aşağıdaki gibi tanımlayın
#export GRADLE_HOME=/Users/levent.yildiz/DEVELOPMENT/TOOLS/GRADLE

5-)Yine bash_profile dosyası içinde  PATH değişkenine GRADLE_HOME'u alattaki şekilde ekleyin ekleyin
#export PATH=$PATH:$GRADLE_HOME/bin

6-) sistemin bash_profile daki değişiklikleri algılaması için yeniden yükleyin
#source ~/.bash_profile

7-) PATH değişkenini ekrana yazdırarak içinde gradle'in da olduğundan emin olun
#echo $PATH

6-) Son olarak Sürüm kontrolü yaparak yükleme işlemini doğrulayın
#gradle –version


Android Studio ile Yeni Emulator(Sanal Cihaz) Oluşturma

Merhaba, bu yazımda basit ancak yeni başlayanlara yardımcı olacak bir içerik paylaşacağım. Android studio ile emulatorde  sanal aygıt oluşturmayı anlatacağım.

1-) Android studio'yu açın
 #/Applications/Android\ Studio.app/Contents/MacOS/studio  &



2-) Android Virtual Device Manager'ı açın
# Go to Tools > Android > AVD Manager 



3-) yeni AVD oluşturma sihirbazını açın


"Create new Virtual Device" butonuna tıklayın

4-) Açılan ekrandan Tablet yada Telefon seçimini yapın.

5-) Cihaz profili seçimimi yapıp ayarlarını kendinize göre güncelleyin. ve next'e tıklayın(burayı varsayılan durumda bırakarak next diyebilirsiniz)

6-) Son olarak Sistem images(Oluşturduğunuz sanal cihazın Hangi android sürümüyle çalışacağını) seçimini yapın ve finish'e tıklayın

WebSQL implementasyonunda Chrome ve mobile farkı

Merhaba ,
bu yazımda kısa ancak önemli bir içerik payalaşacağım sizlerle.

Eğer hybrid mobil geliştirmesi(hybrid mobile development) yapıyorsanız ve projenizde websql(sqlite) kullanıyorsanız bu durum sizinde başınızı ağırtabilir.

neden bahsediyorum hemen açıklayım;  websql in select-result yapısının chrome ve mobil ortamda farklılık gösterdiğinden bahsediyorum.

yani localde çalışırken chrome da select cümlesinden sonra aldığınız verileri işlerken
result.rows[idx]  şeklinde kullanmanız gerekir ancak bu standart değildir. Yani projenizi  mobile ortama deploy ettiğinizde  websql den aldığınız verileri işlerken biraz daha farklı olarak
result.rows.item(idx) şeklinde kullanmalısınız. Konunun daha açıklayıcı olması için aşağıdaki örnek kullanımlara göz atabilirsiniz.

Chrome örnek:
db.transaction(function (t) {

    t.executeSql("SELECT * FROM lists ", [], function (tx,res) {

        console.log(res.rows[1].name);
    });//executeSql finish
});//transaction finish


mobile örnek:
db.transaction(function (t) {

    t.executeSql("SELECT * FROM lists ", [], function (tx, res) {

        console.log(res.rows.items(1).name);
    });//executeSql finish
});//transaction finish

Apache Cordova İle İlk(HelloWorld) Android Uygulaması

Merhaba daha önce paylaştığım bir yazımda cordova kurulumu ve basit Ios uygulamasının emulator ile nasıl çalıştırılacağını paylaşmıştım. Bu yazımda ise yine ayı şekilde Andorid uygulaması geliştirmek için ortamın nasıl hazırlanacağını ve android emulator ile uygulamanın nasıl çalıştırılacağını paylaşacağım.

(-) Öncelikle Cordova yı kurun

(-) Andorid uygulamarını derlemek için Android SDK ya ihtiyacınız var bunun için Android SDK yı kurmanız gerekmektedir. Daha sonra da ihtiyacınız olacağı için Android Studio yu indirip kurun. Bu sayede Android SDK da içinde gelmiş olacak.

veya home brew ile andoid SDK yı kurun
#brew install android-sdk 

(-) Cordova ile bir Proje oluşturun
#cordova create hello com.example.hello HelloWorld 

(-) Projenin kök dizinine gidin
#cd hello 

(-) Yüklenen ve erişilebilen(available) platformları görün
#cordova platform ls 

(-) Cordovaya android platformunu ekleyin
#cordova platform add android 

(-) Cordovanın çalışması için zorunlu olarak kurulması gerekenleri görüntüleyin
#cordova requirements 

(-)  Android SDK nın yüklü olduğundan emin olmak için ve uygun Android sürümünü yüklemek için Android SDK manager i açın
#android 

(-) Ortam değişkenlerini ayarlamak için .bash_profile dosyasını  açın
#vi ~/.bash_profile 

(-) Aşağıdaki satırları .bash_profile dosyasına ekleyin
#Add Android paths
export PATH=$PATH:/Users/levent.yildiz/Library/Android/sdk/platform-tools:/Users/levent.yildiz/Library/Android/sdk/tools 


#Declare ANDROID_HOME
export ANDROID_HOME=/Users/levent.yildiz/Library/Android/sdk/
export PATH=$PATH:$ANDROID_HOME 


#Declare JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/
export PATH=$PATH:$JAVA_HOME 

.bash_profile'ı  değişiklikleriyle birlikte  yeniden yükleyin
#source  ~/.bash_profile 

(-) Son olarak projeyi  Andorid emulator ile çalıştırın.
#cordova run android --emulator 


18 Ekim 2016 Salı

Git Kurulumu (MACOS)

Merhaba bu yazımda sizlere MACOs ortama Git kurulumunun nasıl yapılacağını anlatacağım. Bu işlemler için öncelikle bilgisayarınıza homebrew kurulu olması gerekiyor. Aşağıdaki adımlarla da homebrew paket yöneticisi ile Git kurulumunu yapabilirsiniz.


Öncelikle eski versiyon kurulmuş mu diye kontrol edin
#git --version 

repoyu güncelleyin
#brew update 

Git güncel versiyonla yükleyin
#sudo brew install git 



Git bilgisayarınıza zaten yüklü ise;

Sistemde her şey yolunda mı, eksik komut var mı kontrol edin
#brew doctor

Bilgisayarınızda git komutlarını çalıştırmak istediğiniz dizin üzerinden git linki oluşturun örn : (/usr/local/bin/git)
#brew link git

tekrar Git'i  yükleyin
#sudo brew install git 

Cordova kurulumu ve ilk (HelloWorld) IOS uygulaması

Merhaba, bu yazımda cordova kurulumunu ve kurulumdan sonra da  helloworld Ios uygulamasının nasıl oluşturulacağını anlatacağım. Aşağıdaki adımları takip ederek bu işlemi gerçekleştirebilirsiniz.

1-) Cordova kurulumunu başlatın
#sudo npm install  -g cordova

-g: global olarak kurulum.

2-) ios simulatorü kurun
 #sudo npm  install -g ios-sim

3-) Demo bir uygulama oluşturalım
 #cordova create demo com.demo.app1 sampleApp

createten sonraki ilk parametre dizin adı, ikinci parametre identifer(package name) , son parametre ise başlık şeklindedir.

4-) demo dizinine gidin
#cd demo/ 

5-) oluşturduğunuz cordova projesine platform ekleyin
#cordova platform add ios 

6-) Çalıştırılabilir  emulator listesini çekin
#cordova emulate ios --list 

7-)  çektiğimiz listeden bir emulator ile  target emulatorü belirleyin
 #cordova emulate ios --target="iPhone-6s, 9.3"

8-) Şimdi oluşturduğunuz uygulamayı emulator ile çalıştırın
#cordova run ios --emulator