Virtual Environment on PC for learning & creating novice Custom ROMS? - Android Q&A, Help & Troubleshooting

I do realize that Virtualbox has Android x86 VM compatibility.
What do experts and intermediates use to learn and test andorid custom roms & features?
I mean for a beginner, making mistakes on their regular device could lead to fatal consequences, constant reflashing and being unable to use stock rom for general purposes.
Should a novice aiming to learn how to create custom roms and features use their own device, despite the consequences or is there a better approach to this?
Additionally, in case virtualization is recommended, what software should be used to resemble a real device as much as possible (especially firm specific phones like Oneplus)

VirtualBox - and all emulators based on it, yes almost all wellknown emulators are based on it - is x86 / x86_64 specific, the Android images run on it have to be compiled as x86 / x86_64 ports. Emulators designed to be run on x86 / x86_64 computers aren't meant to be used as a tool for creating / testing an Android ROM, IMHO.
Virtualization ( read: Hardware Assisted Virtualization - HAV ) is a x86 / x86_64 CPU specific feature ( what you enable / disable in computer's BIOS ) - it simply allows different OS to be run simultaneously on computer: No real ARM-CPU based Android device has this feature. That's why you don't have to worry about it when developing an Android ROM.

jwoegerbauer said:
VirtualBox - and all emulators based on it, yes almost all wellknown emulators are based on it - is x86 / x86_64 specific, the Android images run on it have to be compiled as x86 / x86_64 ports. Emulators designed to be run on x86 / x86_64 computers aren't meant to be used as a tool for creating / testing an Android ROM, IMHO.
Virtualization ( read: Hardware Assisted Virtualization - HAV ) is a x86 / x86_64 CPU specific feature ( what you enable / disable in computer's BIOS ) - it simply allows different OS to be run simultaneously on computer: No real ARM-CPU based Android device has this feature. That's why you don't have to worry about it when developing an Android ROM.
Click to expand...
Click to collapse
You're right, ARM is the right cpu arch.
I dont understand your last sentences, Why does HAV matter in terms of developing android ARM roms?
Also if I am developing for arm(v8) devices, yet virtualize x86_64 on my pc to test my first custom rom, how does that port well? It shouldnt work right?

Now it is up to me who does not understand what role HAV should play in the development of a custom ROM for Android. It's an x86 / x86_64 emulator which makes use of this feature, if ever.
Look inside here to get an idea what HAV is, how it works.

Related

[Q] Install firefox (.bin or .deb)?

hello, I was wondering, since Android is based on linux, if we can install a full version of Firefox (Linux version) on the tab. Does anyone know if this is possible?
I've never seen anyone run any linux apps in Android. That would surely be something we'd see if it were possible. I don't know the technical reasons why it isn't, but I'm pretty sure you can't.
You can't install desktop Firefox because much of the required software is missnig, all the UI stuff of regular Linux distro's aren't in Android, stuff like the X windows system, KDE or Gnome, and probably a bunch of other libraries.
The Linux portion of Android handles really low level stuff like file permissions, talking with the hardware, memory management but really nothing to do with the user experience.
you could just run ubuntu through chroot. it works okay.
Please use the Q&A Forum for questions Thanks
Moving to Q&A
Facegarden said:
I've never seen anyone run any linux apps in Android. That would surely be something we'd see if it were possible. I don't know the technical reasons why it isn't, but I'm pretty sure you can't.
Click to expand...
Click to collapse
Commandline stuff with few library dependencies can be ported fairly easily - busybox, bash, etc.
Graphical stuff - not nearly as easy as that depends on graphics toolkits not present in Android.
People forget that Linux is just the kernel. As you increase the number of abstraction layers used by software, Linux as implemented by Android and Linux as implemented by most desktop distros diverge more and more.

Windows vs VM vs Linux

So i been developing actual apps for about 6 months, and want to get into customizing rooms, so i see that alot of you guys use cygwin, a virtual machine or linux and wanted to know if its really worth it running linux natively instead of a vm or cygwin...
if yes, then whats the general opinion on linux vs osx?
I have definitely used all three with good success. If you are RAM limited on your machine, skip the virtual machine option since you need enough RAM to run your base OS and the VM separately. One advantage to running linux natively is that you are forced to think in the linux world, which for an Android behind the curtain point of view is closer to the mentality you need. You might learn some good stuff familiarizing yourself with linux that later applies to your Android exploits!
SuperMiguel said:
So i been developing actual apps for about 6 months, and want to get into customizing rooms, so i see that alot of you guys use cygwin, a virtual machine or linux and wanted to know if its really worth it running linux natively instead of a vm or cygwin...
if yes, then whats the general opinion on linux vs osx?
Click to expand...
Click to collapse
I'm using win7 with andLinux installed. Unfortunately andLinux is based on Ubuntu 9.04 so I can't use most toolchains built on newer distro because they need newer versions of glibc.
So I'm forced to use CodeSourcery's toolchain which uses it's own glibc.

WinCe 6.0 Embedded MIPS apps

Hello everybody,
I have the new Clio 4 Medianav system, is based on WinCe 6.0 embedded, i found a lot of application for this windows system...but the majority parts is for ARM processor :crying:
Can you help find me MIPS application?
Offtopic:
I would like to try programming on wince but I have no idea how set visual studio 2008 for do it..
I usually program website, PLC and microprocessor PIC... I know what does it mean the "Programming" word :angel: )
Thank you!
forna91 said:
Hello everybody,
I have the new Clio 4 Medianav system, is based on WinCe 6.0 embedded, i found a lot of application for this windows system...but the majority parts is for ARM processor :crying:
Can you help find me MIPS application?
Click to expand...
Click to collapse
Who should spend the time? DIY!
Just for info:
Windows CE isn't a desktop OS where peripherals use a common set of busses and addresses and a single OS build that knows how to integrate all of these. There isn't a "Windows CE Image" for just any given processor, the OS image must be built for your exact hardware. Memory maps, peripherals, drivers and a load of other things can change from board to board, even with the same processor.
These "differences" are encapsulated in what's known as a BSP or board support package. You generally must have that for your target hardware, then you can generate a new OS image containing the OS features you want for that hardware.
The short of this is, that no one can tell you whether there are applications out there that are compatible with the OS image used on your Medianav system.
Windows CE for devices with ARM CPU is standarized, because the underlaying hardware is mostly identical. So hundreds of applications for this OS image exist. And it's very easy to write your own.
jwoegerbauer said:
Who should spend the time? DIY!
The short of this is, that no one can tell you whether there are applications out there that are compatible with the OS image used on your Medianav system.
Windows CE for devices with ARM CPU is standarized, because the underlaying hardware is mostly identical. So hundreds of applications for this OS image exist. And it's very easy to write your own.
Click to expand...
Click to collapse
I found the technical datasheet of motherboard with cpu processor type and all the hardware (cpu is a AU1320 all exe are programmed for an R4000 cpu) but the problem is one...I'am a noob on windows embedded..I would like to learn it bit I don't think to find too many people who wants teach me it :crying:
forna91 said:
I'am a noob on windows embedded..I would like to learn it
Click to expand...
Click to collapse
Perhaps this Microsoft book
https://www.microsoft.com/learning/en-us/book.aspx?id=11064
takes you one step further.
This practical, authoritative, popular reference now in its fourth edition shows developers how to develop applications for the newest generation of mobile and embedded devices. Focusing on the core operating system of Windows Embedded CE 6.0, this guide covers memory management, files and file systems, registries, databases, notifications, communications, and more. It s based on the author s extensive experience training developers focused on embedded technologies how to use Windows CE to its fullest capabilities, and covers the latest features in Windows Embedded CE 6.0. The book includes a link to a companion Web site with extensive sample applications in Visual C++.
Thank you for this book...now I see if buy it
There are lots of older MIPS apps (CE 3 and older) that can work. A lot of info and many downloads can be found at hpcfactor.com. I have two MIPS devices using a similar processor (Au1250) and a slightly older OS (CE 5.0): the Viliv X5 and Cowon P5, about which I have posted threads in the Windows CE 5.0 section of hpcfactor.com. (I can't post the links because I'm still considered a newbie here, but just go to the forum list on hpcfactor.com and you'll see that section.)
Because a lot of apps in the Windows Mobile forums here at xda-developers.com were written for the .NET Compact Framework 2.0 and 3.5, installing MIPS versions of .NET CF 2.0 or 3.5 (if they are not already installed on your device) may allow many of those apps to work on your device as well. There's some discussion of this as well in the two threads I mentioned above. (Check which version of .NET CF is on it already first, though. If it has 2.0 already, after installing 3.5 make sure that both versions are activated in the registry under HKEY_LOCAL_MACHINE/Software/Microsoft/.NET Compact Framework.)
well thank you for that site!! I found now a regedit...tomorrow i try it because others don't works :crying: fortunatly there is a debug usb in the radio and with visual studio I think that we can read it :good:
Have you had any succes on doing so? I also have the MediaNav Evolution system (v9.1.4) and I have something in mind... But im totally lost!
P.S.: Would you mind sharing the technical datasheet of the motherboard and CPU?

Emulate amd64 on aarch64

Hi there!
I would like to compile android apps and ROMs on my nexus 9, but to do so I would need to emulate a 64 bit system like amd64: I know I can use AIDE to create apps but I prefer using Android studio and I would also like to compile multirom for another device, and as far as I know there is no way to run an android build environment natively in android, so I was thinking of emulating an amd64 in my kali nethunter chroot using qemu. I installed qemu-user-static and executed the qemu-debootstrap command to create a basic ubuntu amd64 rootfs, but then the second stage gave me an error that basically meant that qemu couldn't emulate amd64.
Now my question is: does anybody know where can I find the qemu-system-amd64 binary for aarch64 (or how can I build it)?
Thanks in advance,
Daniil Gentili
The nexus 9 can't emulate AMD64
Well as far as I know
I believe there aren't any prebuilt binaries. AArch64 is relatively new in the Linux world.
It's possible, but will be really slow (I don't own a Nexus 9, using common sense and knowledge here)
Doing it won't be easy. You have two options:
- create a proper Linux chroot on your device, then install qemu in it
Previously I created a Gentoo armv7 chroot on a Tegra 3 device. It worked surprisingly well. Things compile, albeit very slowly.
- Compile QEMU directly on Android, however Android uses bionic libc, not glibc. You may need to port it yourself, AFAIK no one's done that.
Sent from my LG-H812 using Tapatalk

how to configure a recent Android image with Mesa DRM / KMS support and virtio-gpu modules...

Hello to everyone.
I would like to understand how to emulate a recent version of Android on my jetson nano with qemu / kvm. I already have some experience with linux,with the jetson nano and with the arm64 platform,but a very little one with Android. But I have already asked some crucial informations about the most important requisites that Android should have to run with qemu-kvm. Basically these :
An Android image with Mesa DRM/KMS support.
Android kernel with the appropriate Virtio-gpu modules enabled.
Modified Jetson nano kernel to add support for KVM
compiled Virgilrender and qemu with virgilrender support
I have already configured point 3 and 4. Point 1 and 2 are missing 'cause I have a little Android knowledge. Someone said to me "It needs to be one targeted for Qemu with virtio-gpu support enabled. There are images around with it configured but don’t have ones that I can share". Ok. for me its better to understand how to configure Android from the beginning like it should be,but I'm pragmatic,so I don't say no if someone wants to give me a recent Android image already configured . In any case,since I don't know where to start,I would like to get some detailed documentation from you,because I want to learn the workflow. Thanks in advance.
no one wants to help here ?

Categories

Resources