Raymond Zhao
Raymond Zhao

Reputation: 41

Why adb sync leads to boot failure while make snod works fine?

I am trying to build a custom rom in AOSP angler-debug (Nexus6p, 8.0).

Full build works fine.Then I change some code in framework/base/core/java/.. and run mmma framework/base to rebuild the framework.

Here is the problem :

When I use adb sync to update framework, it leads to boot failure:

"didn't find class "com.android.providers.settings.SettingsProvider on path: ...."
"No original dex files found for dex location /system/priv-app/SettingsProvider/SettingsProvider.apk"

When I use make snod and fastboot flashall to flash system image, the device can boot correctly and the modified code effects.

Question : Is there something different between these two commands?

Upvotes: 1

Views: 367

Answers (2)

Narendra
Narendra

Reputation: 21

If You Have Any Changes in frameworks/base/ which modifies the framwork.jar and service.jar.

We can send the whole framework dir to /system/framework/ locations.

$adb push out/target/product/emulator_car64_x86_64/system system/framework/

Alternativly replacing framwork.jar and service.jar was also fine but replacing the whole framework will make 100% sure if your changes are

Upvotes: 0

user2269707
user2269707

Reputation:

There are some mechanisms in framework to make sure the framework.jar is the original one when device is flashed. It seems that other parts of framework does not have this limitation.

In my experience, if your change codes other than framework/base, adb sync is fine, otherwise flash system image to avoid weird things.

You should feel lucky that building speed is way faster in AOSP 8, when I worked with AOSP 5, build the framework/base is a disaster.

Upvotes: 0

Related Questions