[Galaxy S 5 General] leesh2347:
Hi, I'm a Korean Developer.

Recently Samsung has released android 5.0 lollipop for our devices.

But most of you may be ambarrased because the lollipop upgrade changed lots of things in system.

So I researched few days about it, and I've got several informations.

All of what I explain here is the result of my experiments.

In developers discussing forum, famous developers were discussing about "How we can mod lollipop system files".

Thanks to qwerty123258, Softdx's lollipop de-odexing tool has been known to here. But the problem is that how to re-odex the de-odexed apps,frameworks.

As our common sense, ART doesn't support de-odexed apks,jars so we have to re-odex them. But many of you may think we can't re-odex animore with the way we have used.

I agreed it at first.

So I've heard that de-odexed SecSettings,SystemUI apk with Softdx's tool don't work and have FCs. Thinking like this, we can think there is no solution. Especially, lots of custom ROM developers cannot make ROM without smali modding.

BTW, I saw that mods for nexus devices' lollipop are mostly de-odexed. But there is no problem.

Hold on, the ART definitely doesn't support de-odexed mods, but why mods for nexus doesn't have matter? You may think this doesn't make sense.

So I had doubt to this 'common thinks'.

And one day, I was putting Galaxy Note3's apps into my system that worked on KK.

FlashAnnotate app had FC, and Action memo popup also had FC. But the main app and widget of Action memo worked well.

Moreover, SuperSU that I used when rooting my S5 was also de-odexed app.

Isn't it strange to say "ART doesn't support de-odexed"? So I thought that Google didn't fully removed dalvik, they just inactivated it.

So I replaced the FlashAnnotate app with the one for Note4, and it worked well.

Then I put Note4's apps like S Note, Weather Widget, etc. As I expected, all of them worked with no FC!

Thus, it is wrong to say that the ART doesn't support de-odexed. It is the problem of that app.

What problem?

I asked to one of my friend, a Note3 mod-developer. He said that stock Note3 doesn't support ART natively.

This means that the developers of Note3's stock apps didn't care ART.

It has the same principle with the issue that the old version of stock apps like S health have FC on Galaxy S5 lollipop.

The structure of app's source code have to match with ART's structure.

In short, de-odexing have no relation with ART. FC issue is the compatibility issue of that app.

So the apps of after-KK-released-devices can be worked whether it is de-odexed or not.

Is this mean apps with FC cannot be used on lollipop? No. We can modify it to match with ART's structure. I mean, we can port it as API21(lollipop).

Let me pass to the other subject.

Most of you may think that re-odexing as the way we used, extracting dalvik-cache in the phone cannot be used and we must convert it as oat.

But, I re-odexed the main app of Action memo,what worked well even it was de-odexed, as the way we used.

It also works well while it is re-odexed.

Therefore, we can re-odex apps with the way we used.

BTW, as mentioned before, stock Settings and SysUI don't work when they're de-odexed and re-odexed.

It doesn't make sense according to the theories before. Then, what's the problem?

There is one that most of you may overlooked.

When you're de-odexing with Softdx's tool, generally most of you may think converting oat to dex is important and baksmaling/smaling process must be worked well.

But the problem was in baksmaling/smaling process.

When I was de-odexing stock settings app with Softdx's tool,

(look at the attached 1.png because I cannot insert image)

There were errors on smaling process. But I've never modded any smali of it.

When I looked the codes that made errors, not recognizing the '+'s on the pswitch code.

(look at the attached 2.png because I cannot insert image)

like this.

Many smali modders may know that there was no '+' on pswitch code when modding smali of KK or lower versions.

But after I remove all that '+', it can be compiled well but it has FC. Why? literally "It was modded".

It is reasonable to have FC because it was "modded", not compiled without modifications.

We can think of these two cases:

1. The structure of app's source code was entirely changed, so the last (bak)smali tool cannot recognize changed codes.

2. The structure of app's dex was entirely changed, so vanished parts are made when baksmaling with last tool.

We can conclude with these two cases.

After the release of (bak)smali tool that can completely baksmali/smali, we can do modifications.

I've heard that the developer of apktool is going to release new version for lollipop. So we have to wait a little bit.

Although we cannot do smali modding yet, we can put apks in system.

Why don't you put several apps in system and confirm what works or not?

Anyway, Thank you for reading my bad English...ahaha

If you have another opinion for my think, reply it.