SDK jar version

johnaaronrose

Active Member
Licensed User
Longtime User
I'm using B4A version 2.30. Currently my B4A configuration path android.jar (for my app) points to android-10 jar as I have a Gingerbread (version 2.3.3) phone. When I try to run my app on an Android tablet using Android 4.0 (i.e. Ice Cream Sandwich), I get strange errors. I presume that I should recompile my app using android-14 jar. Will this allow my app to still run OK on my phone? Same question (& is it OK for my tablet) if I use android-17 jar instead?
 

johnaaronrose

Active Member
Licensed User
Longtime User
Error message is "Unfortunately, Jewish World has stopped" (where Jewish World is the app's name). There are 2 buttons at the bottom of an unnamed popup: Report & OK.

If I understand you correctly, it's fine for B4A's Config Path to use any of android-10, android-14, android-17 jar i.e. the compiled app using one of these will run on a Gingerbread (2.3.3) phone or an Ice Cream Sandwich (4.0) tablet. Is that correct?
 
Upvote 0

Theera

Well-Known Member
Licensed User
Longtime User
Error message is "Unfortunately, Jewish World has stopped" (where Jewish World is the app's name). There are 2 buttons at the bottom of an unnamed popup: Report & OK.

If I understand you correctly, it's fine for B4A's Config Path to use any of android-10, android-14, android-17 jar i.e. the compiled app using one of these will run on a Gingerbread (2.3.3) phone or an Ice Cream Sandwich (4.0) tablet. Is that correct?

Hi johnaaronrose,
Try re-install SDK Manager again,and select install Extras > Android support Library. I had the same Error Message. Perhaps could help you.

Best Regards
Theera
 
Upvote 0

johnaaronrose

Active Member
Licensed User
Longtime User
The logged error is java.util.MissingFormatWidthException -f..

I've just recompiled the app (after using SDK Manager to install Extras > Android support Library) and uploaded & saved it to Google Play using Google Developer Console, which says that it is Active: however, on trying to install from Google Play to my tablet, it 'references' the old version. So it looks like Google Play doesn't make available new versions immediately.

I can't create an emulator for a Android 4.0 tablet as I haven't yet installed the Android-14 (or greater) SDK which I'm reluctant to do just yet. As I previously mentioned I can't compile directly to an Android device as B4A doesn't work using Wine (under Linux) to do this. I'm waiting for a micro SDCard to put into my tablet to arrive (hopefully tomorrow) so I can't install the app from an SDCard.

In summary, I'll wait till tomorrow before proceeding further.
 
Upvote 0

johnaaronrose

Active Member
Licensed User
Longtime User
I created an emulator for a 1024x768 Medium Density Android 4.0 tablet after installing android-14 api & SDK, as I still haven't received an SD card for my tablet which is needed to run my app as it downloads a database to it & uses that database. Compile & run gave same error as before. The full log is:
java.util.MissingFormatWidthException: -f
at java.util.Formatter$FormatToken.checkFlags(Formatter.java:1365)
at java.util.Formatter.transform(Formatter.java:1440)
at java.util.Formatter.doFormat(Formatter.java:1079)
at java.util.Formatter.format(Formatter.java:1040)
at java.util.Formatter.format(Formatter.java:1009)
at java.lang.String.format(String.java:1998)
at java.lang.String.format(String.java:1972)
at com.tapfortap.AdView.getAdOpacity(AdView.java:324)
at com.tapfortap.AdView.loadAdsWithAppId(AdView.java:233)
at com.tapfortap.AdView.access$000(AdView.java:28)
at com.tapfortap.AdView$1$1.run(AdView.java:103)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
I don't know what you mean by the stack trace. How do I obtain it?

PS Google Play finally allowed me to download new version to my phone so that I was able to check that install of Extras > Android support Library didn't mess up app. However, as I said before still same result on tablet emulator.
 
Upvote 0

johnaaronrose

Active Member
Licensed User
Longtime User
TapForTap's reply

TapForTap's reply is:
Can you update the SDK. You are using 1.1.3 and the latest version is 2.3.1.

I've replied:
I don't understand what you mean by SDK versions: 1.1.3 and the latest version is 2.3.1. I'm using Basic4android (aka B4A) to compile my app. Erel Uziel (author of B4A) informed me that B4A's Configuration Path android.jar parameter doesn't matter as long as it is at least 8. It was 10 (which presumably links to SDK 2.3.3). If you wish: I can install SDK 4.0 API 14 (i.e. IceCreamSandwich), recompile my app with B4A's Configuration Path android.jar parameter set to 14, upload to Google Play & activate that new version. I've been reluctant to do it before as I would like assurance that my app would still work on a Gingerbread (i.e. android 2.3.3) phone. Do you want me to create a new version as detailed above?
 
Upvote 0

johnaaronrose

Active Member
Licensed User
Longtime User
Thanks Erel & margret

I used the updated wrapper provided by magic68 (got name misspelt) placing it in additional Libraries, used Manifest Editor for magic68's change, downloaded TapForTap's new SDK (extracting TapForTap.jar to Additional Libraries), replaced AppId with AppKey (from TapForTap's website), compiled app & all was well on tablet emulator. Will now upload new version of app to Google Play & install it from there when available.
 
Upvote 0
Top