Git Product home page Git Product logo

Comments (13)

thestinger avatar thestinger commented on June 4, 2024 1

The preview sources aren't fully open. The tags don't correspond to the code shipped by Google, at least for many of the repositories.

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024 1

When I mentioned vanilla I was referring to AOSP using the blobs from the preview channel (https://developers.google.com/android/nexus/blobs-preview). From the perspective of the vendor blobs extraction script we're interested at first point to identify possible additions/deletions that will affect the extraction list from the /system partitions (priv-apps, libs, etc.).

But it seems that we don't have corresponding tags yet so building is not a straight forward options yet, leaving us only with the factory preview image to work with.

Digging into the factory preview image it seems that the blobs at which your run failed are still there. So probably something went wrong in the extraction process. I'll start digging the OAT version that Android N is using at the latest image and ensure that de-optimization tools are compatible with the corresponding libart version.

Will keep you posted here.

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024

Thanks for reporting.

Usually I don't spent time with preview images since they're not supposed be fully functional and thus pose hidden challenges that result into more (usually unnecessary) work. Will have a look when possible to see if something has changed in the way bytecode is pre-optimized or the blobs list is different for Android-N.

Have you tried to flash the vanilla image in a Nexus 5x phone to verify all hardware stacks (GSM, WiFi, NFC, Bluetooth, etc.) are working?

from android-prepare-vendor.

lightydo avatar lightydo commented on June 4, 2024

When you say vanilla you mean AOSP? So far I have been able to build the Android N preview 3 for Nexus 5x but it won't boot (boot loop...related to keystore?). The preview 3 stock image works fine.
Since there are no instructions with regards to building and flashing Android N AOSP on Nexus 5x I can;t figure out what to do...

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024

SmaliEx used to de-optimize the OAT files doesn't seem to support (yet) the libart version used in Android N preview images. If you comment the &>/dev/null parts in system-img-repair.sh script you will see the various errors when de-optimizing the OAT files.

Hopefully it will get fixed by the time Android N reaches production, otherwise we'll have to migrate to a different tool (not sure if a decent alternative exists) for the de-optimization of OAT files, or deal with them in a different way at the build process (e.g. patchoat them to align with AOSP build boot.oat and include them as pre-optimized bytecode).

I'll leave the bug open for now until we have any final updates / decisions.

from android-prepare-vendor.

thestinger avatar thestinger commented on June 4, 2024

It appears that SmaliEx is able to cope with it now: testwhat/SmaliEx@227f79c.

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024

@thestinger thanks for the update. Had an early look at the Nexus 9 (WiFi) Android N factory image and seems that Google is no longer pushing apps pre-optimized. The only pre-compiled oat files present are the framework jars. We might actually get lucky here and avoid the de-optimization headache for the Android N releases.

Will wait for the Nexus 5x/6p factory images to appear online to verify this new policy before start coding around the Android N support. Fingers crossed we might actually have less work to be handled here. I just hope that the proprietary blobs list is not changed for the same devices. Have some concerts about the bluetooth modules since I've noticed a recent big refactor at the AOSP tree.

from android-prepare-vendor.

thestinger avatar thestinger commented on June 4, 2024

There's definitely some new stuff in /system. They seem to have replaced with pittpatt blobs in /vendor with different blobs there. I'm not sure which stuff can be considered to be part of Google Play though.

from android-prepare-vendor.

thestinger avatar thestinger commented on June 4, 2024

I'm having a lot of trouble simply getting a working build for the Nexus 9 and it doesn't really seem to be related to blobs... it simply doesn't mount /vendor for some reason. Mounting it manually on a userdebug build does work. Bonus: upgrades from 6.0.1 -> 7.0 are broken due to the new encryption stuff.

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024

Then probably something changed at the build chain and the script generated makefiles are missing pieces (or broken). Unfortunately we'll have to do lots of digging/tweaking work since I just noticed the Nexus 5x NRD90M image has different policy from N9 and the system apps are pre-optimized.

I'll work with it during the weekend and keep you posted with available options (probably at the CopperheadOS IRC channel). Will start with N9 since deps are significantly smaller compared to N5x/N6p.

from android-prepare-vendor.

thestinger avatar thestinger commented on June 4, 2024

It turns out the issue is that it can't find the verity metadata for /vendor. It might have actually been a problem before but verity is actually enforcing now. I'm not sure.

from android-prepare-vendor.

thestinger avatar thestinger commented on June 4, 2024

They apparently only optimize frameworks on the Nexus 9 due to extremely bad I/O performance, where the optimized code takes longer to load. Nexus 6 might be similar.

from android-prepare-vendor.

anestisb avatar anestisb commented on June 4, 2024

Have started working compatibility with Android N. First success device was Nexus 9 WiFi (tested with a user-debug build and so far no issue). Have created separate issues per device to track down progress. Closing this one since preview images are no longer a thing.

from android-prepare-vendor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.