Android Apps will ONLY run on ARM-based systems


Recommended Posts

I don't think this matters much. It's not the case that Android has a lot of tablet optimized apps anyway.

 

What is more important is that iOS apps can be converted into Universal Apps.

 

This is true, majority of Android apps are targeting the phone and NOT any tablets, so they'd look off on a bigger screen.  

 

As far as iOS apps go, they'll need more porting work compared to Android apps, there's no AOSP based Java subsystem there for iOS apps, so it's a bit more work but it's work done in VS IN Objective C, no need to learn or use a different language like C# etc.

 

I think MS's example with King is what they expect/hope from more developers.  They brought Candy Crush Saga over to WP using these quick port tools, saw they had good success with it and the users were there that now they're not only going to bring more of their games over to the platform they're going to take the time to make them true, native, universal apps.

 

It's all about getting apps in the door, if they see success then they'll have a better reason to make them native apps, if not, at least the apps are there for the few users who use them/want them, and if they keep it up (developers keep their apps up to date with newer versions and don't forget about them) then the users win either way.

Link to comment
Share on other sites

  • 2 weeks later...

I don't think this matters much. It's not the case that Android has a lot of tablet optimized apps anyway.

 

What is more important is that iOS apps can be converted into Universal Apps.

And how late did the tablet (not Gingerbread) arrive on Android after ICS arrived?

 

Also, how many tablet-primary Android ODMs are there?  (I know of one - Visual Land,)  Practically ALL the other Android ODMs - including Samsung and ASUS - are primarily about phones.  (Even HP is not so much about tablets, in terms of Android.)

 

Speaking of Visual Land....http://www.visual-land.com/7qs/

 

The intro price is certainly interesting ($50USD and free shipping) - at that price, I could certainly bite.

 

And it won't be a notebook-killer - not even Big Pavilion.

 

Expect this same tablet to show up at MicroCenter, on HSN, and even on QVC (I've seen previous tablets from Visual Land all three places).

Link to comment
Share on other sites

They specifically mentioned that android apps will work only on phones.

 

Microsoft announced that their Build conference for developers that they are releasing technologies to port iOS, Chromebook, Java, Android and even WIN32 apps to WIndows 10 Modern apps.  My port that means convert them to run on the Windows 10 Intel platform.  MS wants to be able to sell 

Link to comment
Share on other sites

how does this affect tthis phones: http://www.asus.com/Phones/ZenFone_2_ZE551ML/

 

Which use intel atom?

That's an Android phone.  It doesn't effect Android hardware at all.

If you're saying what if Asus were to put Win10 on that hardware then it wouldn't have the android subsystem because it's not ARM.

So ironically when running WIn10 Mobile it's best to avoid Intel based devices if you want the widest app selection.

  • Like 1
Link to comment
Share on other sites

That's an Android phone.  It doesn't effect Android hardware at all.

If you're saying what if Asus were to put Win10 on that hardware then it wouldn't have the android subsystem because it's not ARM.

So ironically when running WIn10 Mobile it's best to avoid Intel based devices if you want the widest app selection.

yeah basically what I meant (for a lack of words :p ) was if other companies want to have android and win10, they must have two separate devices if not using ARM. :/

Link to comment
Share on other sites

That's an Android phone.  It doesn't effect Android hardware at all.

If you're saying what if Asus were to put Win10 on that hardware then it wouldn't have the android subsystem because it's not ARM.

So ironically when running WIn10 Mobile it's best to avoid Intel based devices if you want the widest app selection.

You are trying to say that if you want to write Android apps, that your ONLY choice is ARM - why?

 

If the reasoning is because ARM is the majority platform out there running Android, you're saying what Peter Watt is saying, and thus all the other non-ARM platforms have no chance at all

 

If that were absolutely true, than why would ANY developer write only ARM - or only Android, for that matter?

 

If Android becomes ARM-exclusive, it's no better than being iOS-exclusive, and you as a developer become basically a one-trick pony.

  • Like 1
Link to comment
Share on other sites

Can anyone explain what it means that on WIndows 10, Win32 code will be sequenced and repackaged as Appx? I can't run Win32 code unmodified or that only applies to Win32 programs in the Windows store?

Link to comment
Share on other sites

Web and Win32 apps don't need to be "ported", specifically Win32 apps run just like they do on the desktop but to make them a Store app you repackage them from a .exe to a .appx store package and they then run in a sandboxed "App-V" instance so they can't screw around with your system.   If you then want to add more WinRT API support into your Win32 app that's possible as well, but you're still not porting anything, just repackaging it.


Can anyone explain what it means that on WIndows 10, Win32 code will be sequenced and repackaged as Appx? I can't run Win32 code unmodified or that only applies to Win32 programs in the Windows store?

 

AppX is just the installer package Store apps use, all you'd have to do is take your Win32 app, and repackage it, through VS2015, and then submit it, you don't have to change any code, it runs like it does on the desktop, but when it's a store app it runs in a app-v sandboxed container.

  • Like 2
Link to comment
Share on other sites

You are trying to say that if you want to write Android apps, that your ONLY choice is ARM - why?

I'm saying that if you want to write Android apps that run on Win10 then your ONLY choice is ARM. That's the topic of this thread. MS has said they will not be putting the ARM subsystem on Intel based devices, it's ARM only. It has nothing to do with what I want I'm just explaining what MS is saying.

I'm NOT saying if you want to write Android apps your only choice is ARM. Android will run on any device. It's open source and can be ported to run on any hardware and Google is cool with that. Right now it runs mostly on ARM but there are Intel based Android devices (like the ZenFone 2) and Imagination Technologies (of PowerVR GPU fame) is working on a MIPS based version I believe and if someone makes a new architecture they can port Android to that as well. It's an open platform and none of that is changing. An android developer can write a single app that runs on all Android devices as long as they stick to the SDK (which compiles to byte-code and not native code) and either avoid the NDK (which generates architecture specific native code) or include in the APK the necessary native code for all supported platforms. That Android App will not run on Win10 on Intel however because MS is not including the Android subsystem on Intel devices (again, that's what this thread is about). The Android subsystem (required to run Android apps on Win10) is ONLY being put on ARM based Win10 devices. That's what MS is saying, it's not my call. If it were up to me I'd put it there for every Windows 10 device and developers choose to use it or not. It's not up to me.

Link to comment
Share on other sites

Can anyone explain what it means that on WIndows 10, Win32 code will be sequenced and repackaged as Appx? I can't run Win32 code unmodified or that only applies to Win32 programs in the Windows store?

Win 10 devices < 8" can only run applications from the Microsoft Store.

So if you have a 7" Win10 Intel based tablet you can't install and run your Win32 desktop apps directly. You can't install Steam for example and download games. Even if the hardware would otherwise be compatible. If your device is a > 8" Intel Win10 one you CAN install Steam and other Win32 apps directly.

If you are a developer and have a Win32 app you want to sell to people on the smaller locked-down devices, MS is letting you do that through the MS Store by repacking your unmodified Win32 code and selling it through the MS Store. So if you sell your app through the MS Store then all Intel Win10 devices can buy it (and MS gets a 30% cut). If you sell your Win32 app through any other means (direct, steam, etc. where MS doesn't get a cut) people with < 8" can't access it. Of course Win32 apps aren't going to work on ARM devices either way.

Make sense?

  • Like 1
Link to comment
Share on other sites

Another case of Mobile users getting preferential treatment over desktop users which have become the redheaded stepchildren.

 

Being able to natively use Android programs on my desktop would've been great. Guess I'll have to stick with inferior emulators like BlueCraps, I mean BlueStacks. 

 

I've unpacked the contents of APK files before and the source files looked to be class files from a modified variant of Java. So why in 2015 do we still not have native launching of Android programs on x86? 

Link to comment
Share on other sites

Another case of Mobile users getting preferential treatment over desktop users which have become the redheaded stepchildren.

 

Being able to natively use Android programs on my desktop would've been great. Guess I'll have to stick with inferior emulators like BlueCraps, I mean BlueStacks. 

 

I've unpacked the contents of APK files before and the source files looked to be class files from a modified variant of Java. So why in 2015 do we still not have native launching of Android programs on x86? 

 

You might like the ability but the fact still remains that many, if not the vast majority, of Android apps are only make for the phone in mind, tablet, let alone desktop type apps/UIs were not in mind when developers made those apps.  MS isn't in a rush to support running apps on devices where even the native app ecosystem doesn't cover. 

 

Universal apps on Win10 work because of they're ability to have a dynamic UI, that way I'm not limited to a small, constrained mobile app window on my 24"+ desktop monitor.

Link to comment
Share on other sites

Another case of Mobile users getting preferential treatment over desktop users which have become the redheaded stepchildren.

 

Being able to natively use Android programs on my desktop would've been great. Guess I'll have to stick with inferior emulators like BlueCraps, I mean BlueStacks. 

 

I've unpacked the contents of APK files before and the source files looked to be class files from a modified variant of Java. So why in 2015 do we still not have native launching of Android programs on x86? 

 

Because if MS supported native launching of Android programs on x86 as a first class citizen very few developers would write WinRT "Universal" apps.

MS would never be able to beat Android on mobile and so they'd be stuck with whatever Google chose to do with the platform instead of being able to direct it themselves.

MS hasn't given up on mobile yet.  They're trying to leverage Xbox and Windows Desktops via "Universal" apps to get people to push their own ecosystem.

As a consumer I'd rather just have the Android subsystem on all version of Windows as well but I can at least see why they are doing what they are.

Link to comment
Share on other sites

You might like the ability but the fact still remains that many, if not the vast majority, of Android apps are only make for the phone in mind, tablet, let alone desktop type apps/UIs were not in mind when developers made those apps.  MS isn't in a rush to support running apps on devices where even the native app ecosystem doesn't cover. 

 

Universal apps on Win10 work because of they're ability to have a dynamic UI, that way I'm not limited to a small, constrained mobile app window on my 24"+ desktop monitor.

The vast majority of Android apps are only made for the phone in mind because that's what the vast majority of android devices are.  The Android API supports a dynamic UI and has since well before MS discussed "Universal" apps publicly.  This was necessary for Google because they don't control the hardware so they don't have a set list of resolutions and screen sizes that Android supports.  The APIs exist and there are apps today that have dynamic UIs on android that adapt just fine from a 4" phone to a 10" tablet (not just scaling.)  The APIs aren't limited to 10" tablets though and would work just fine going up to a 24" monitor.  I don't know any app specifically that does that today just because I don't know of any 24" monitor Android devices.  Android scales WAY beyond that though because they've added support for TVs now so you can write a single app that will adapt it's UI from a 4" phone to a 70" TV (heck the APIs support watches and cars now.)  The APIs already exist, they're already in the AOSP.  MS wouldn't have to do anything else, the developers would just have to make sure their apps handle going to desktops gracefully (using the existing AOSP APIs).

Link to comment
Share on other sites

The vast majority of Android apps are only made for the phone in mind because that's what the vast majority of android devices are.  The Android API supports a dynamic UI and has since well before MS discussed "Universal" apps publicly.  This was necessary for Google because they don't control the hardware so they don't have a set list of resolutions and screen sizes that Android supports.  The APIs exist and there are apps today that have dynamic UIs on android that adapt just fine from a 4" phone to a 10" tablet (not just scaling.)  The APIs aren't limited to 10" tablets though and would work just fine going up to a 24" monitor.  I don't know any app specifically that does that today just because I don't know of any 24" monitor Android devices.  Android scales WAY beyond that though because they've added support for TVs now so you can write a single app that will adapt it's UI from a 4" phone to a 70" TV (heck the APIs support watches and cars now.)  The APIs already exist, they're already in the AOSP.  MS wouldn't have to do anything else, the developers would just have to make sure their apps handle going to desktops gracefully (using the existing AOSP APIs).

 

 

You're first sentence makes the rest of your post meaningless, developers haven't bothered to use any dynamic UI APIs or even really think about targeting larger screens.  The truth is that Android on tablets doesn't have much going for it, the market shows as much, and with phablets even fewer people are bothering to look at Android on bigger screens, 10"+, let alone think about that device type when making an app.

 

It doesn't do much to have support for something that no one bothers to support with development.

Link to comment
Share on other sites

Think about it most good Android apps are phone not tablet ones. So makes sense ARM/Windows for phones and small tablets will get android apps. iOS apps are great on ipad and then for Windows 10. Funny how iOS apps run on Windows desktop before Mac OSX.

Link to comment
Share on other sites

Another case of Mobile users getting preferential treatment over desktop users which have become the redheaded stepchildren.

 

Being able to natively use Android programs on my desktop would've been great. Guess I'll have to stick with inferior emulators like BlueCraps, I mean BlueStacks. 

 

I've unpacked the contents of APK files before and the source files looked to be class files from a modified variant of Java. So why in 2015 do we still not have native launching of Android programs on x86? 

You can do so today - that's why I run BlueStacks, for example.  That is also part of the problem - because of such emulators, the assumption is that "emulation is enough".  Throw in "nativists" like Peter Watt and doing anything more (even with Android) is becoming more and more problematical.

 

You apparently have a problem with BlueStacks - what hardware did you try running it on, and when was the last time you tried even running it?

 

Android APKs ARE Java-based - the core of Android itself is a JVM (either DALVIK or ART, depending on the version of Android).  That part has not changed.

 

The ongoing dispute between ARM and Intel is about that bugbear of all portable computing - battery life.  Remember, Android started out as a hyper-portable platform, - first for cameras, then later for phones and tablets. When it came to all three, battery life was king. However, performance is becoming an issue for Android - battery life is no longer "all".  That is why multi-core is showing up with ARM.  Intel has FAR more practical experience with multicore than ARM does; where x86 has had issues is battery life.  Android can also be scaled up far more than has been the case to date  - the worry of folks like Peter Watt is that Android could "outgrow" the capabilities of ARM (and play into the wheelhouse of Intel)

 

A lot of folks developing for Android want no part of developing for ANY Microsoft platform - for philosophical reasons; they see the availability of Android development on Windows as "encroachment" and a "bad thing".

Link to comment
Share on other sites

You apparently have a problem with BlueStacks - what hardware did you try running it on, and when was the last time you tried even running it?

 

 

A Z68 based system, specs are in my signature.

 

I have tried "rooted" variants of BlueStacks and every time I try it - the last being a week ago several programs do not work including Final Fantasy IV (even after copying the OBB file from my Samsung tablet to the relevant folder on the virtual BS file system). It crashes, a lot. I suspect it uses SSE2 rather than AVX-256 or even SSSE3 which makes it perform like garbage at times as well. 

 

It is imperative that emulators use the latest and greatest instruction sets available. For Intel CPUs that would be AVX-256. For AMD SSSE3. More software needs to be compiled properly with the Intel math kernel lib from Composer or at least some optimization that makes it not use SSE2 or worse. 

 

Also, it installed to my C partition and sucks up space in \programData\ which I HATE. I had to move it to another drive and use NTFS junctions to stop it from using up the space on my limited 256GB drive. Any software that incessantly uses the system partition and doesn't give the user a choice of where it stores its data especially when its such a bloated program like BlueStacks always gets bad marks in my book. I have almost 100 NTFS junctions to get around such crap.  

Link to comment
Share on other sites

You're first sentence makes the rest of your post meaningless,

Really? There are more Android apps that use dynamic UI APIs to scale between phones and tablets today then there are Win10 apps.

Sure it's a small percentage of the android ecosystem because the android ecosystem is HUGE. Even a small percentage of it is likely larger than MS's entire mobile market share.

developers haven't bothered to use any dynamic UI APIs

That's not true at all. If you said MOST android developers haven't bothered then you'd be more correct because MOST do target phones only but again even a tiny fraction of android apps is more than the entirety of Windows Phone/Mobile.

In fact even on phones developers are already using the dynamic UI APIs because unlike Apple and MS Android doesn't have set screen sizes and resolutions. Even phone-only developers on Android therefor use the dynamic APIs to make sure their app works fine on a 4" 960x540 screen, a 5.5" 2560x1440 screen, everything in between, and hopefully any other odd resolutions OEMs decide to add. You don't have to modify your android app each time a new resolution comes along exactly because of this dynamic UI.

 

or even really think about targeting larger screens.

Now this part is right. Since there are no 24" monitor Android devices developers aren't targeting them. But there are no officially released 24" monitor Win10 devices either.

It would be MUCH easier for the tons of existing Android developers to adapt their existing app using the APIs they already use to scale between phone resolutions to handle 24" screens then it would be to port them to WinRT.

The truth is that Android on tablets doesn't have much going for it, the market shows as much, and with phablets even fewer people are bothering to look at Android on bigger screens, 10"+, let alone think about that device type when making an app.

What are you talking about? Android is the #1 tablet OS.

Apple is the #1 single tablet OEM with a 24.3% market share and Samsung is #2 with 17% (both declining last quarter) but that's ALL of Apple's market share and Samsung is only a fraction of Androids.

While Samsung is the single largest Android OEM the combined market share of all Android tablets is the largest of any tablet OS.

Right now the big news is people are buying "White Box" Android tablets in droves instead of the higher priced Apple and Samsung products. Q1 2015 in fact these "White Box" Android tablets even passed Apple (they passed Samsung last quarter).

 

Source

It doesn't do much to have support for something that no one bothers to support with development.

They ARE using the dynamic UI now to handle various resolutions and screen sizes. They just aren't using them to adapt to desktop PC size screens right now because there aren't currently any desktop PC sized android devices (at least not in any great number).

It doesn't do much to develop for something that doesn't currently exist. If MS opened up the AOSP based Android subsystem they've developed in Win10 on Intel Win10 tablets/desktop there would be a HUGE market and I have no doubt Android developers would adapt their apps, using the APIs they're already using to adjust to phone resolution differences, to 24" desktop use. That would be FAR easier for the tons of android developers out there than to write new "Universal" apps.

It would effectively kill WinRT "Universal" apps and make Android (AOSP) the defacto standard for touch applications on Windows. MS obviously dosn't want to cede that to Google so they created the artificial limit by releasing the Android subsystem only on ARM devices.

Link to comment
Share on other sites

could this be why on the front page MS has said its xboxone feature of windows 10 will be delayed after summer? probably to hash out these issues?

Link to comment
Share on other sites

Isn't the whole point to help *port* apps, not run them directly unmodified. If you port your app to WP, you then need to write the UI for tablets and desktops. That should kind of go without saying I thought...

Link to comment
Share on other sites

Really? There are more Android apps that use dynamic UI APIs to scale between phones and tablets today then there are Win10 apps.

Sure it's a small percentage of the android ecosystem because the android ecosystem is HUGE. Even a small percentage of it is likely larger than MS's entire mobile market share.

That's not true at all. If you said MOST android developers haven't bothered then you'd be more correct because MOST do target phones only but again even a tiny fraction of android apps is more than the entirety of Windows Phone/Mobile.

In fact even on phones developers are already using the dynamic UI APIs because unlike Apple and MS Android doesn't have set screen sizes and resolutions. Even phone-only developers on Android therefor use the dynamic APIs to make sure their app works fine on a 4" 960x540 screen, a 5.5" 2560x1440 screen, everything in between, and hopefully any other odd resolutions OEMs decide to add. You don't have to modify your android app each time a new resolution comes along exactly because of this dynamic UI.

 

Now this part is right. Since there are no 24" monitor Android devices developers aren't targeting them. But there are no officially released 24" monitor Win10 devices either.

It would be MUCH easier for the tons of existing Android developers to adapt their existing app using the APIs they already use to scale between phone resolutions to handle 24" screens then it would be to port them to WinRT.

What are you talking about? Android is the #1 tablet OS.

Apple is the #1 single tablet OEM with a 24.3% market share and Samsung is #2 with 17% (both declining last quarter) but that's ALL of Apple's market share and Samsung is only a fraction of Androids.

While Samsung is the single largest Android OEM the combined market share of all Android tablets is the largest of any tablet OS.

Right now the big news is people are buying "White Box" Android tablets in droves instead of the higher priced Apple and Samsung products. Q1 2015 in fact these "White Box" Android tablets even passed Apple (they passed Samsung last quarter).

 

Source

They ARE using the dynamic UI now to handle various resolutions and screen sizes. They just aren't using them to adapt to desktop PC size screens right now because there aren't currently any desktop PC sized android devices (at least not in any great number).

It doesn't do much to develop for something that doesn't currently exist. If MS opened up the AOSP based Android subsystem they've developed in Win10 on Intel Win10 tablets/desktop there would be a HUGE market and I have no doubt Android developers would adapt their apps, using the APIs they're already using to adjust to phone resolution differences, to 24" desktop use. That would be FAR easier for the tons of android developers out there than to write new "Universal" apps.

It would effectively kill WinRT "Universal" apps and make Android (AOSP) the defacto standard for touch applications on Windows. MS obviously dosn't want to cede that to Google so they created the artificial limit by releasing the Android subsystem only on ARM devices.

 

 

You're splitting hairs here, it doesn't matter in the end, most, if you will, stick to the phone, regardless of overall res of the screen, the form factor hasn't changed, phones that use 5" screens, be it 1080p or 1440p are still using the same ratio, simple scaling is all apps need to take into account.   Regardless of APIs, or number of apps, or even the fact Android is #1 tablet OS (simply by volume of crappy tablets that have crappy apps) no ones targeting them on mass, thus no need to try and get those apps to run on larger screen windows devices when they'll just end up running poorly.  

 

You might want to hold on to these little tidbits strongly but they don't change the fact that, right now, when it comes to tablets, heck even overall, apps coded on iOS are better and take better advantage of the tablet, thanks to the iPads success.    The point still remains, there's no need nor rush to make these Android apps run on larger Windows 10 devices when they're not meant to in the first place, or coded to.

Link to comment
Share on other sites

Isn't the whole point to help *port* apps, not run them directly unmodified. If you port your app to WP, you then need to write the UI for tablets and desktops. That should kind of go without saying I thought...

 

The nature of the Android porting is different from the iOS one,  with iOS you need to do a bit more code work but it's actually a recompile/build of the project out of VS, it just reads the objective-C and spit out a .AppX package.

 

With Android it's running on a subset of the java code needed, Windows has run Java since forever, with some remapping of API calls from Android specific ones to the Windows 10 counterparts, VS handles that, what developers need to do is make changes from any Google services to MS ones, like maps for example.  But in the end, the app is still mostly a Android Java app, while the iOS app is more of a Windows native app, closer of the two.  In either case you don't have to recode the UI unless you want to, which is why the iOS apps work on larger screens, they're coded to from the start while the Android ones aren't, they're more limited to the phone.

Link to comment
Share on other sites

You're splitting hairs here, it doesn't matter in the end, most, if you will, stick to the phone, regardless of overall res of the screen, the form factor hasn't changed, phones that use 5" screens, be it 1080p or 1440p are still using the same ratio, simple scaling is all apps need to take into account.

Android phones don't all have the same aspect ratio and they don't just use simple scaling to adapt between resolutions.

apps coded on iOS are better and take better advantage of the tablet, thanks to the iPads success.

I didn't say anything that contradicts that statement. In fact I specifically said "Apple is the #1 single tablet OEM with a 24.3% market share", you act like I said otherwise.

Not only is it the number one OEM but Apple makes a much easier target for tablet developers, in part, because it does NOT have the Dynamic UI that Android does and instead has a very limited set of possible resolutions and hardware configurations to support.

If Apple released a new resolution device tomorrow that wasn't a simple multiple (so THEY could use simple scaling) of what they have now then their apps wouldn't work right. The APIs aren't made to handle that, Android APIs are.

The point still remains, there's no need nor rush to make these Android apps run on larger Windows 10 devices when they're not meant to in the first place, or coded to.

There's no need nor rush to make Android apps run on larger Windows 10 devices because larger Windows 10 devices don't run Android apps.

If all Win10 devices included the full AOSP Android subsystem I have no doubt there WOULD be a rush to make Android apps run on it. Since that isn't going to happen, MS has restricted the subsystem to ARM only, there is no need nor rush now.

Link to comment
Share on other sites

This topic is now closed to further replies.