is there any way to port the o3d apps - HTC EVO 3D

is there any way to port these apps to the evo 3d or will they not work

Not a easy way. Reverse engineer code to smali, from there reconstruct source from interpreted statments to java..repeat process over and over. It's a lot of work...believe me.

i see is it would be nice to see those apps ported

One benefit of the dalvic machine is the code is not really in machine code. Each line must be read and executed by a jit..just in time compiler and then executed. It is just a lot of labor, and somebody must really want it to do it.

Related

[Q] Wanting to tinker with Android

I've been following threads on here for a few months, and now I think I want to try to learn more about how Android actually works. I'm familiar with IDEs and coding in general(not my strong point), so I think I could pick up some things pretty quickly. Where would you guys recommend I look for learning to code/tweak Android code*?
I kind of want to be able to say I'm running my own cooked up version of Android.
*please ignore this redundant word choice, please.
rougegoat,
There is a fork in the road right at your starting point, strangely enough. You could choose to study Android application development, or you could choose to look at ROM "development". They are almost worlds apart in both nomenclature, toolsets, and skills; and because of the breadth of skills that are needed in both domains, I have no doubt that there are people that are simultaneously geniuses in one of those areas of expertise, and a numb-skull in the other: that's how far apart they are.
The former is all about Java, Android API's, the "SDK", and an IDE such as Eclipse, and emulators and the device bridge; the latter has a distinct "Unix jock" nature to it: Android "NDK", (or CodeSourcery) toolchains, gcc, make, command-line and shell scripting, understanding dynamic linking and execution environments, and use of configuration management tools (git and repo).
When "code" comes up in the former, it's Java; in the latter, ANSI C (or any other native-compiler language, but C is most typical). In the latter case, if you are building source trees from public repositories, (say Cyanogen or AOSP) initially you won't spend any time at all with C - you'll be spending 95% of your time struggling with with the build environment(s) and trying to wrap your head around the mysteries of "git" and "repo" - and also deciphering Unix shell scripts (typically written in the "Bourne" or "Bash" shell dialect) when things go wrong or are poorly documented. And yes, they will go wrong; effectively diagnosing what happened when things go wrong requires solid Unix/Linux skills.
Your question as posed suggests that you are more interested in the OS/ROM side of things than App development; if that is the case I would suggest you:
-brush up or learn from scratch basic Unix/Linux skill sets (they map over to Android almost 1-to-1).
-If you are a Windows user, download VirtualBox, and create a VM with Ubuntu (8.0.4 or 10x); use developer.android.com as a reference for dependencies and setup. Make sure the virtual disk is plenty big: at least 30-40 Gb. Don't attempt to set up a native development enviroment in Windows/cygwin. ( Windows is a great place for the Android SDK and Android App development, but decidedly not for native code development for Android "ROMs"** ).
-Install both the CodeSourcery and the Android "NDK" (Native Development Kit) in your Linux VM, and try and build a smallish, but multi-file C source-code project that uses Makefiles using both of those toolchains. (Sounds easy, right? Wait till you try anything involving the standard I/O library with the NDK).
-Get your simple project code to run correctly on a real phone device.
- Then, download and build an HTC kernel from their (standalone) source tree - try and do it with both toolchains (CodeSourcery and Android NDK) - simply for the experience of setting up the environments correctly.
- Then, learn the basics of dealing with repo, download an Android source tree and compile it - using both toolchains (CodeSourcery and Android NDK)
- After succeeding with the above, try pulling code from someone else's "git" repository and merging it into an Android build tree - and getting it to build correctly.
The above looks like a pretty short list - but it represents many, many hours of effort. Good luck.
bftb0
** There might be folks that take issue with that statement about ROM-building and Windows. They might tell you, "just download so-and-so's kitchen, and start building ROMs", it works fine under Windows." There's nothing wrong with that, especially because it can be satisfying seeing something of your creation actually running on a phone in a short period of time - but you probably won't learn very much, and when things go wrong, you'll be stumped about how to go about fixing things. The difference between a "chef" and a "developer" is that the former merely assembles together pre-built executable programs and libraries - whereas the latter understands not only how to go about building those things when the sources are available, but also has the opportunity to change them.
Lucky for me that I'm a Slackware guy. I'd much rather learn the system then just have a pretty GUI that does it all for me. That's half the fun of it.
Thanks for the advice, I'll have to try that whole bit out and see where it gets me. A weekend project awaits!

What is a Source code?

What are source codes and why for we need them? Example?
Thanks!
Sent from my SGH-T959 using XDA App
how i define it may not be exactly correct, but i know it is partially.
a Source Code is like... a manager at a grocery store? Without the manager, it would probably be a bit wild.
Source Code is everything that runs on your phone, compiled into 1 thing, and we need it so we can make our phones more stable, faster, etc.
wait till someone else replies with a more intelligent answer lol, i know what it is. but its hard to explain it from my point of view.
xriderx66 said:
how i define it may not be exactly correct, but i know it is partially.
a Source Code is like... a manager at a grocery store? Without the manager, it would probably be a bit wild.
Source Code is everything that runs on your phone, compiled into 1 thing, and we need it so we can make our phones more stable, faster, etc.
wait till someone else replies with a more intelligent answer lol, i know what it is. but its hard to explain it from my point of view.
Click to expand...
Click to collapse
I see, but is a source code really a set of numbers that make the phone better?
Sent from my SGH-T959 using XDA App
Computer code or language code is the way we get computers/ phones etc. to execute certain commands or strings of commands that want to do in order to make the computer do a specific thing.
Source code is text written in a computer programming language. Such a language is specially designed to facilitate the work of computer programmers to work in a specific platform.
Once you have completed a program in source code it is then complied by another software to make it smaller and essentially encrypts the command source code language.
Releasing the source code allows programmers and developers to see exactly how the command structure is built, then the devs can better write custom applications without fewer bugs and less guesswork.
Right now on the vibrant, we are using source code from the captivate and the Euro I9000 platform which are similar but not exact to write custom roms.
Once we have the Vibrant source code we will then totally understand the command code structure and the devs will be able to write better roms.
Sorry this is abbreviated and simplistic explanation but at least you will understand the general overview
A source code is what is used to make an application, or game, or OS...etc.
For example: I make a program, and to make this program, I have to make a bunch of files and compile them together to make the program itself. And I'd give out the source code if I want others to update/add to my program and they can compile it themselves. It's the programming language which is used to make the program.
There are thousands of languages, such as C++, Java, Unix...etc.
In short, source code is for developers.
Thanks for your help everyone. Now I know :-D
Sent from my SGH-T959 using XDA App
Nabeel10 said:
Thanks for your help everyone. Now I know :-D
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
It's always good to know what these things are to avoid posting the wrong questions to the wrong thread. Glad you came here instead of just asking how to flash kernel source.
To reiterate...source code are basically the blue print of a device. By having the blue print, you can look over it and make adjustment to improve device performance....
OK, I must say some of these are close but still off...
Source code will never run on your phone. Source code is human readable programming language. It is the language used by software developers to write programs. Examples of such languages are c, c++, java, python, etc. Once programs are written in such a language they are still useless as no machine can execute that code natively. This is where another piece of software called a compiler comes in. A compiler turns the human readable code into machine executable binaries that can run on a machine. Compilers can compile for different architectures, for example x86, x86-64, ARM, etc.
The big deal with getting the source code is that developers get something they can tweak, modify and recompile. This makes the job of optimizing and adding features MUCH easier than doing so without source. There are ways to de-compile binaries (turning machine executable code into human readable code), but it's not always accurate, and the code produced with such methods is usually much less concise than the original source.
shrapnelx said:
OK, I must say some of these are close but still off...
Source code will never run on your phone. Source code is human readable programming language. It is the language used by software developers to write programs. Examples of such languages are c, c++, java, python, etc. Once programs are written in such a language they are still useless as no machine can execute that code natively. This is where another piece of software called a compiler comes in. A compiler turns the human readable code into machine executable binaries that can run on a machine. Compilers can compile for different architectures, for example x86, x86-64, ARM, etc.
The big deal with getting the source code is that developers get something they can tweak, modify and recompile. This makes the job of optimizing and adding features MUCH easier than doing so without source. There are ways to de-compile binaries (turning machine executable code into human readable code), but it's not always accurate, and the code produced with such methods is usually much less concise than the original source.
Click to expand...
Click to collapse
That helped too! Thanks!
Sent from my SGH-T959 using XDA App
I assume the source code is already on the hand of samsung. why don't they just release it?
Sent from my SGH-T959 using XDA App
iynfynity said:
I assume the source code is already on the hand of samsung. why don't they just release it?
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Samsung is a member of open handset alliance, and must comply with the provisions tied to GPL - they must release the source code within 60 days the firmware made public.
Hope this helps.
Sent from my Bionix powered Vibrant
iynfynity said:
I assume the source code is already on the hand of samsung. why don't they just release it?
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
maybe they want to hide all the bugs they couldn't have avoided.. or they may want to hide all that potential features that vibrant already have we don't know yet about
according to gnu general public license that all android os softwares fall under, source codes for any officially announced os should be released within 60 days.. hopefully samsung will release source codes for froyo soon-

[Q] Best Way To Start Developing?

I have NO knowledge of developing at all but I would like to begin building AOSP Kernels and have a very special script in mind.
i found this, i read it and became very intimidated.
now i want to do it too
http://wiki.cyanogenmod.com/index.php?title=Building_Kernel_from_source
NewZJ said:
i found this, i read it and became very intimidated.
now i want to do it too
http://wiki.cyanogenmod.com/index.php?title=Building_Kernel_from_source
Click to expand...
Click to collapse
Can this be translated to english?
I'm trying, I'm starting small by learning command line, i have kubuntu up and running and successfully have amarok configured
I am not a dev, but I do understand how OS/kernel/hardware interaction works somewhat and kernel development is probably the most difficult thing to develop. Especially when HTC only releases Kernel for their Sense version of Android. Sense is so intertwined and intrusive that most drivers in HTC's source will not work with AOSP Android and will probably have to be recompiled or modified in some way for them to work.
It may be easier to start small with making an app or theme. You may also learn stuff from visiting and reading in the Android Development and Hacking forum here.
I'm not trying to dissuade you from doing what you want, because if you can start at making and AOSP kernel then more power to ya. I am just informing you that this may be the most difficult place to start if you want to get into Android development.
So basically what this details is half setting up the environment necessary to make changes to the CM7 Kernel.
This is rather difficult stuff though. It's not a place to start out. Instead try making your own ROM. Look up dsixda's kitchen.
You might also want to get into learning a programming language. My personal favorite is Python.
Android is built using Java which there are good tutorials online for. I personally find Java annoying, but that's because I know Python. The style and syntax of Python is heavily different from Java.
Trial and error buddy just always have a nandroid for your builds and know the fastboot commands for starters if things ever get ugly
Sent from my PG86100 using Tapatalk
Yeah. I'm not really skilled with command though. I just know random commands for adb and terminal emulator.

[Q] Wine-like iOS emulation?

Hello All,
My question is whether the reverse-engineering of iOS's API is being looked at as an option any time soon. I would be interested in something similar to Wine (Wine Is Not an Emulator), which is a reverse engineering of the Win32API and allows you to run Windows .exe files natively in Linux or Mac OS. I am aware of iEmu (and it's unfortunate suspension).
However, my interest is not in getting iOS itself running on my phone, but instead I would like to run the apps themselves. I'm pretty sure there isn't currently a project on this. If there is, can you inform me of it?
If there is not, I would like to discuss the difficulty of implementing this. I could definitely be an aid in starting a project of ths nature.
Here are some things about iOS's apps I am unfamiliar with (I am aware that this specific section of the post may be more fit for the iOS forum):
Does the Obj-C code compiled for iOS resemble native ARM code (the iPhone chips are ARM to the best of my knowledge), like how C++ would be compiled, or does it resemble something more like C# or Java, compiled into bytecode that is executed by a library?
Compared to the size of the .NET framework or Win32API, how big is the iOS library?
Has a successful program been created that can run Obj-C code?
Would this have to be worked from the ground up (figuring out how Obj-C compiles in the first place), or has there been some effort already mounted similar to this?
I am aware of the extreme difficulty in implementing this. However, I'm sure this was thought while planning Wine or Mono. I'm not even suggesting this be made, but I'm simply asking on your opinion on the general difficulty (can it be done).
Thank you,
- κυριακος
kupiakos42 said:
Hello All,
My question is whether the reverse-engineering of iOS's API is being looked at as an option any time soon. I would be interested in something similar to Wine (Wine Is Not an Emulator), which is a reverse engineering of the Win32API and allows you to run Windows .exe files natively in Linux or Mac OS. I am aware of iEmu (and it's unfortunate suspension).
However, my interest is not in getting iOS itself running on my phone, but instead I would like to run the apps themselves. I'm pretty sure there isn't currently a project on this. If there is, can you inform me of it?
If there is not, I would like to discuss the difficulty of implementing this. I could definitely be an aid in starting a project of ths nature.
Here are some things about iOS's apps I am unfamiliar with (I am aware that this specific section of the post may be more fit for the iOS forum):
Does the Obj-C code compiled for iOS resemble native ARM code (the iPhone chips are ARM to the best of my knowledge), like how C++ would be compiled, or does it resemble something more like C# or Java, compiled into bytecode that is executed by a library?
Compared to the size of the .NET framework or Win32API, how big is the iOS library?
Has a successful program been created that can run Obj-C code?
Would this have to be worked from the ground up (figuring out how Obj-C compiles in the first place), or has there been some effort already mounted similar to this?
I am aware of the extreme difficulty in implementing this. However, I'm sure this was thought while planning Wine or Mono. I'm not even suggesting this be made, but I'm simply asking on your opinion on the general difficulty (can it be done).
Thank you,
- κυριακος
Click to expand...
Click to collapse
Hey and welcome to the forum's I would like to know this as well but I do not know any project and any that gets started and gains popularity gets chased down by Apple's legal team quite quickly. I have my doubts that this could happen (I would be glad if someone could prove me wrong) because iOS and its apps work on 12 devices and Android has hundreds of devices, most with different hardware. Windows apps are built for variable hardware, likewise with Linux and now Mac OS X. Sorry but as much of a pessimist as I seem I do not think it's possible but I'd love to be proven wrong. (Can someone at least make a frigging Windows Mobile runtime)

[Q] Developing Apps and Roms: Q for Developers... help a noob

hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
in_dmand said:
hey guys... just in the very beginning stages of wanting to learn how to develop android apps/roms and looking for some quick help to get on the right track. (my bro in law and father in law are developers in python and bro-in-law is really getting into android). I am reading through a book which teaches the beginner Java programming to start. In the mean time, I have installed the newest version of JDK (with all the plugins), Eclipse, and Android's plugin for Eclipse.
1. Is this all I need to get started?
2. Does every developer use Eclipse? It was my understanding that it is more of a "crutch" to make android app developing easier... I want to understand the code behind the program.
3. What other advise do you guys have for me?
Thanks for any and all help.
Click to expand...
Click to collapse
1) Pretty much.
2) I don't know if every dev uses Eclipse, but it's not a crutch. You're probably thinking along the lines of the garbage web pages Frontpage generates. That's not what Eclipse does. It'll generate some tedious code for you (when you tell it to), but it's a powerful and customizable tool, not a babysitter. Anyone that tells you do use Notepad instead is an idiot.
3) A lot of people will disagree with me, but I think learning Java with no programming experience is about the hardest path you could take. But it's tough to try to learn another language for the sake of it while what you really want to do is make an Android app. Just know, going in, that the path you're taking is tough.
You'll hear about object oriented vs procedural programming, but what everyone neglects to say is that object oriented expands upon procedural. That's why, ideally, I'd recommend everyone start with a procedural language.
Make sure you at least get a decent understanding of what object oriented programming is all about. And make sure you bookmark the Java API! If you're not using it you're doing something wrong.
Edit: Disclaimer: I've been a software developer for over 10 years and using Java for most of that. I spent a couple days looking through the Android SDK and tutorials and decided I didn't have a good enough app idea to make it worth the effort.
thanks so much, your input is much appreciated!
Be patient and do write many small apps as a start. And oh, xda chef central is another great resource also stack overflow is your best friend.
I would suggest you be patiently read or watch some tutorial before do 'try and error' way to test what works. Learn from experienced dev is really important
From my RAZR MAXX
Yeah I agree, I would definitely start out with small apps. The first few (several?) things you write are going to suck. Even if they work perfectly well, the code behind them is going to be poorly designed and hard to maintain and enhance.
In a class way back when, our instructor had us writing a to-do list manager. You can start with a simple list and then enhance it as you learn more. ie, add/delete items, priorities, due dates, reminders, etc. You'll read and say "hey, I could use this to do so-and-so," or "I wish I could add this function" and learn how to do it.
In addition to learning how to code and use the Java api, you'll also learn why you eventually want to understand how to design as much as possible up front.

Categories

Resources