Wednesday, May 22, 2013

Maven Android Plugin aapt Error

Android SDK r17 güncellemesini yaptıktan sonra, maven-android-plugin, platform build tools altındaki bazı önemli dosyaları bulamıyor. Derleme aşamasında şuna benzer bir hata ile karşılaşıyorsunuz;

"
...
Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources (default-generate-sources) on project sdk-lib: Execution default-generate-sources of goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.5.0:generate-sources failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as configuration parameter ... in the plugin . As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. -> [Help 1]
...
"

Güncelleme sonrası aapt, aidl, dexing ile ilgili gereçler build-tools dizinine SDK revizyon numarasına göre taşınmış. Bunlara eski konumlarında sembolik linkler yaratmak sorunu çözüyor.

https://code.google.com/p/maven-android-plugin/issues/detail?id=377

Windows ortamında benzer bypass yapabilmek için mklink komutundan faydalanılabilir.

"
C:\Users\cagri.celebi>d:

D:\>cd "Program Files (x86)\Android\android-sdk"

D:\Program Files (x86)\Android\android-sdk>cd platform-tools

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aapt.exe ..\build-tools\17.0.0\aapt.exe
symbolic link created for aapt.exe <<===>> ..\build-tools\17.0.0\aapt.exe

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aidl.exe ..\build-tools\17.0.0\aidl.exe
symbolic link created for aidl.exe <<===>> ..\build-tools\17.0.0\aidl.exe

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink /d lib ..\build-tools\17.0.0\lib
symbolic link created for lib <<===>> ..\build-tools\17.0.0\lib

D:\Program Files (x86)\Android\android-sdk\platform-tools>
"

http://img560.imageshack.us/img560/9837/cmdlinks.png