Setup Wizard crashes in unofficial Iode 2.11 build

I was able to successfully make a build (for Sony Xperia Z3)using the v2-staging branch.

I wiped Cache, Dalvik & System, and formatted Data partition, before installing using TWRP

The device boots OK. Setup Wizard successfully detects the UK SIM, connects to WiFi, and sets a screen lock pattern. I didn’t attempt to restore apps and data as I don’t have a SeedVault backup.

BUT at the end of Setup Wizard, after pressing ‘Start’, Setup Wizard crashes, and restarts at the opening screen. Seond time through -without restarting the phone - it crashes again, and I see the ‘App keeps crashing’ dialog.

Restart the phone, and the same thing happens, though the Screen lock pattern and WiFi connection are remembered from initial run.

I have checked in the build source tree, and I definitley have the v2-staging branch, and the latest commit is the same as in gitlab

$ git log
commit 85233d9f90500a01230e1185e80abf91cb8d9e0d (grafted, HEAD, m/v2-staging, iode/v2-staging)
Author: Vincent Vidal <vincent@vidal.pm>
Date:   Thu May 12 17:58:01 2022 +0200

Sadly I can’t get logcat output, as I cannot get far enough to enable adb

I’m not sure what to try next - any ideas or help would be very welcome

Thanks

OK - it looks like my build source tree was in a strange state - I’ve started a clean build.

The crash at the end of Setup Wizard was because it was calling code to start the News app which, because of the problems in the source tree - was not present.

I’ll report back when the new, clean build is done

It looks like the root of the problem is that the v2 branches of the vendor_extra repo need to be visible. Some changes were made to the Android.mk files between v2 and v3 - probably in the LOCAL_CERTIFICATE declarations - which mean that some of the prebuilt apps are not running / runnable on the device, even though hey are present in system/product/app.

I’ve tried to work around by making changes myself, but not having any great success. If the v2-staging branch can be made public, then I can build using that and - woth luck - avoid the problems.

Indeed, the vendor/extra repo had not been pushed, that’s done.
However, this repo has a common development branch for all iodéOS versions which is staging. There are several other repositories like that, you can check in manifest. We create a version-tagged branch of these repos for each official releases, but when created simultaneously, all branches are even for all iodéOS versions.

Do you still make v2.x builds using the staging branch? And do these build work OK on a clean install? (The latest 2.x builds I can find in Releases · iodeOS/ota · GitHub are from March 2022).

I believe that changes made to some of the Android.mk files since those releases were made, may have broken v2.x builds. In particular, changes to the LOCAL_CERTIFICATE field. I remember I had to make similar changes in the makefiles for my custom Lineage4MicroG builds for Android 13 / LOS 20 builds, and these changes were not backwards compatible for Android 11 / LOS 18.1 builds.

For my v2.x builds to succeed, I think I would need to build from the tag that was used for the last successful v2.x builds. But it seems those tags don’t exist - or are not visible - in the vendor_extra repo or in the manifests repo.

I’m really not sure how to move forward now :frowning:

We still make 2.x builds for several devices (A5/7, teracube, samsung 9). The v2-staging / staging branches are the current ‘beta but stable’ development branches, which are pushed there from our internal repos. The v2.11 branch will be pushed when we make the official release, and so on.

The build with staging branches must succeed, and work. If not we will fix the issues. Our actual beta builds are based on these branches.

OK Thanks very much.

I still don’t see a v2-staging branch in Branches · iode / os / public / lineage / vendor_extra · GitLab.

So just to confirm: you use the staging branch - and therefore the same makefile content - for building v2.x, v3.x and v4.x versions? And the same makefiles work for all versions?

If that is the case, then the problems in my build are not caused by the apk signing, which is what I had believed until now. I will have to look deeper.

I think I will wait till there’s a v2.11 branch visible in vendor_extra before I try building again. That way I know I am using a ‘known good’ source tree for my build.

There will not be a v2-staging branch: the stagingbranch is used for all iodéOS versions. This branch has been updated this morning.

Yes

Issues with apk signing may be different wrt android versions. But the fixes for one android versions can work for all versions.

That won’t make a difference. The v2 staging branch is actually stable, could be released as an official release, and you would have exactly the same problems.

1 Like

OK, I’m giving up on trying to build Iode 2 for now. I have tried everything I know to get round the missing apps problem, but with no joy.

I was able to avoid the Setup Wizard crash by removing the code (in SetupWizardExitActivity.java lines 53-55) that calls the (missing) News app. This allows Setup Wizard to complets, and the HOmescreen to be displayed. From here we can see that the following apps, while present in the /syste/product/app directory on the device, are not runnable.

I’ve created an issue, with more details, and I will probably return to it later

The root cause of this problem is that the Z3 family devices I was building for are arm devices, and the missing apps are only built for arm64.