Question

I'm trying to build a package using rake run:android and I get the error No such file or directory - ./apkbuilder

My project setup is given below:

rhodes-3.5.1.12 ndk version: ndk-r8b 32 bit sdk version: android 4.2.2 API 17

I'd tried with 4.3 API 18 but it's not working.

To reach upto this point I'd copied the file aapt in to platform-tools also created a lib directory in platform-tools and put the dx.lib in it.

I'd tried with different combinations. Rhodes 3.4.2, ndk-r9 64 bit and 32 bit. Only ndk-r8 32 bit is working for me. Could anyone tell me what is the problem here?

Or a working combination of sdk, ndk and rhodes?

I've fixed the issue. Added a new answer below.

Was it helpful?

Solution

The problem of the missing apkbuilder.bat is not coming from the Android NDK but from the Android SDK. Google, in build tools r22 moved some files in different directory, breaking rhodes and a lot of other Android tools.

You've different options:

  1. Use RhoMobile Suite v4.0
  2. Stick to RhoMobile Suite v.2.2 downloading the latest v3.5 rhodes gem from github (using the 3-5-stable branch).
  3. Use Android SDK build tools r21

more information are available on Launchpad, the RhoMobile community site by Motorola Solutions.

OTHER TIPS

I've fixed it like this in mac os:

Use the latest versions of SDK, NDK and rhodes 4.0.0

Get rhodes like following:

git clone git://github.com/rhomobile/rhodes.git
cd rhodes
git checkout 4.0.0 
gem build rhodes.gemspec
sudo gem install rhodes-4.0.0.gem

Try to build again. If still not working send me a message, I'll try my best :)

apkbuilder is deprecated.

THIS TOOL IS DEPRECATED and may stop working at any time! current just the batch or bash script be removed

you can just create a new apkbuilder file in android-sdk-linux/tools dir by:

window:

  copy android.bat apkbuilder.bat 
  modify apkbuilder.bat: change com.android.sdkmanager.Main to com.android.sdklib.build.ApkBuilderMain

linux or mac:

  cat android | sed -e 's/com.android.sdkmanager.Main/com.android.sdklib.build.ApkBuilderMain/g' > apkbuilder
  chmod a+x apkbuilder

It seems that :

  • rhodes 3.5 does not support 64 bits ndk

  • some tools are in a different path in ndk9 and rhodes 3.5 can't find them.

So you have to stick with 32 bits and ndk8 with rhodes 3.5.

Rhodes 4 should work with 64 bits and ndk9.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top