Is it safe to upgrade to Delphi 10.2.3 for Android development? I've been using Berlin for the past year and based on messages here and other places it seemed like there were some major issues with apps targeting Android, but it seems like maybe those have been addressed? Anyone here have experience migrating an Android app from Berlin to Tokyo? I'm about to start a new project and would prefer to use the latest version of Delphi if possible. Thanks!
Yes, it is safe to use 10.2.3.
ReplyDeleteAlso, as of November all new Android applications and updates submitted to Play Store must support minimum API 26. Support for API 26 is due in next release 10.3.
Berlin is obsolete. Even Tokyo will be soon (already is)
If I were you I'd wait a few so you can get the new Delphi release. At the moment you cannot upload your apk in the play store and distribute them because FMX still uses the old sdk api level (hoping that the new release doesn't introduce dozens of new bugs like usual in the past releases ;) ).
ReplyDeleteThe new Delphi version will support the latest android SDK version and you will be able to publish your apps!
Richard Baroniunas No. Changes are too extensive.
ReplyDeleteI tried my app with Tokyo changing API to 26 and I don't see any issue. I think to publish it tomorrow.
ReplyDeleteBut I don't use those parts that don't work in Tokyo with API 26.
Cristian Peța API 26 has features (specifically Runtime Permissions developer.android.com - Request App Permissions | Android Developers ) that Delphi does not support. If you just change API level without implementing those features your app will crash. Of course, if you don't use any of those then you can get away with it.
ReplyDeleteAlso you might check http://delphiworlds.com/2018/05/targeting-android-8-and-higher/
Cristian Peța Also once you publish with higher API level you cannot roll back to lower one. Be cautious.
ReplyDeleteI checked all these. And is a new app.
ReplyDeleteRaffaele Miola There is no ETA on 10.3. Even though it is probably soon, it may not be soon enough.
ReplyDeleteThere has been architectural change between Berlin and Tokyo in threading model. More precisely, Main Delphi thread and Android UI thread have been merged and now they are the same.
That change is also one responsible for "problems" with moving some applications to Tokyo. It may not be simple recompile, sometimes it needs change in code logic. 10.3 is same as 10.2.3 in that regard, so it would make very little sense to start writing new app using Berlin.
Scott Pinkham Active subscription users can also participate in 10.3 beta and can publish Android apps with beta. If you didn't get the invite you can contact Embarcadero to send you one.
Dalija Prasnikar according to Atanas Popov it's in November. That's what Uwe Raabe said:
ReplyDeleteThe release time frame for 10.3 was officially mentioned by Atanas Popov during his session at DevTracks in Oldenburg two weeks ago: Early/Mid November. As always, don't bet your life on it.
Here:
https://plus.google.com/+ThomasMueller/posts/CTQLTLje8nD
Thomas Mueller I call that no ETA ;)
ReplyDeleteScott Pinkham As mentioned above, if you need API 26 support today all current (update subscription) Android customers are invited to join the 10.3 beta. If you haven't got an invite, please get in touch - your sales rep should be able to handle requests. If that fails, get in touch directly :)
ReplyDeleteThis blog post has more info: community.embarcadero.com - Deadline Approaching: Google’s new Android API level 26 Requirements
I can't comment on 10.3 release dates, but I can say I'm very, very much looking forward to having it out soon ;)
Dalija Prasnikar I already updated my Android SDK to API26 and published an app to the Play Store using Berlin. I guess I got lucky and am not using any features that get broken with Berlin and the new API!
ReplyDeleteNow I'm wondering if I should bother to update to Tokyo, or wait a bit longer for 10.3? I guess I could install the beta on a spare machine to try it out.
Scott Pinkham Updating Android SDK to particular level is not the same as targeting that API level with the application. In order to do that you have to manually change manifest and change targetSdkVersion
ReplyDeleteIf your application uses any of dangerous permissions developer.android.com - Permissions overview | Android Developers you need to implement requesting permissions at runtime. There is no way around that - your application will crash on devices running never OS versions (API23 and higher).
Scott Pinkham Whether to start with Tokyo or 10.3 beta?
ReplyDeletePersonally, I would start with 10.3 beta.