Hi all,
I'm glad to announce we've just published new release of CrystaX NDK - 10.1.0!
For those who don't know what CrystaX NDK is, here is short description. CrystaX NDK is Android native development kit, developed as a drop-in replacement for Google's NDK. Compared to Google's NDK, the CrystaX NDK provides the same functionality as well as several great features and tons of fixes and improvements. You can read list of key features on CrystaX NDK release page (crystax.net/android/ndk), but here I'd like to point out main goals of CrystaX NDK project:
Better ISO C , ISO C++ and POSIX standards conformance
Easy porting of existing code to Android
New features for Android native development
We also include Boost 1.57.0 prebuilt libraries into CrystaX NDK so one can start using Boost for native development for Android immediately, and do it as easy as it can be.
If something is unclear, I'd be happy to answer your questions, guys.
Check it out and enjoy!
crystax said:
Hi all,
I'm glad to announce we've just published new release of CrystaX NDK - 10.1.0!
For those who don't know what CrystaX NDK is, here is short description. CrystaX NDK is Android native development kit, developed as a drop-in replacement for Google's NDK. Compared to Google's NDK, the CrystaX NDK provides the same functionality as well as several great features and tons of fixes and improvements. You can read list of key features on CrystaX NDK release page (crystax.net/android/ndk), but here I'd like to point out main goals of CrystaX NDK project:
Better ISO C , ISO C++ and POSIX standards conformance
Easy porting of existing code to Android
New features for Android native development
We also include Boost 1.57.0 prebuilt libraries into CrystaX NDK so one can start using Boost for native development for Android immediately, and do it as easy as it can be.
If something is unclear, I'd be happy to answer your questions, guys.
Check it out and enjoy!
Click to expand...
Click to collapse
where is it mister ?
side said:
where is it mister ?
Click to expand...
Click to collapse
I can't post http links here, but if you open crystax.net/android/ndk in browser, you'll get it
I didnt realize what huge project CrystaX NDK is. of course I will use it from now on instead of Google NDK
Related
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!
Hey gus i needed a bit of help.I am a computer science engineering studentFor my final year I am doing an android app where you write java code it sends the code to cloud gets executed and output is returned back.Can anyone give an overview on how to implement this?
just a thought.
android already uses java so if the java apps are not very complex you could do local processing. Else, the way i see it, you would need java compiler web services (some linux scripting and php should to the trick) and an android upload app for .java files.
i hope this gives you an overview into the minimal functionality involved into the project.
https://www.apportable.com/ they are porting ios apps/games to android os?
Copy&Paste from the site:
Code:
Welcome to Apportable: the ultimate iOS-to-Android porting platform for games.
With Apportable, your game will run natively on Android without major changes to the Objective-C/C++/C codebase.
You’ll never have to write a line of Java, HTML5, or JavaScript - forget about hiring contractors or in-house porting engineers..
RoberGalarga said:
Copy&Paste from the site:
Code:
Welcome to Apportable: the ultimate iOS-to-Android porting platform for games.
With Apportable, your game will run natively on Android without major changes to the Objective-C/C++/C codebase.
You’ll never have to write a line of Java, HTML5, or JavaScript - forget about hiring contractors or in-house porting engineers..
Click to expand...
Click to collapse
so it's a good news for us android users (?)
What are the advantages of developing android apps in C++ rather than in JAVA?
The biggest advantage for me is that you can have a shared codebase between the platforms.
The best example is creating cross-platform games. If you write the game code in C++ you only need to write a small amount of code specific for current platform (e.g. Android) that just runs your C++ code right after the start.
Just take a look at Cocos2D-x game engine project (its open-source) and how many platforms it supports because its written in C++.
What are the advantages of developing android apps in C++ rather than in JAVA
OkieKokie said:
What are the advantages of developing android apps in C++ rather than in JAVA?
Click to expand...
Click to collapse
Mainly for game. Most of the mainstream 3D engine are written in C/C++, so for game developer, they can make use of the current c/c++ 3D engine directly without rewriting from scratch.
I've been learning Android development recently and finally released my first free app.
It's open source and available on Github too. It's made with C# in Xamarin (not forms though, which meansit uses Android's native APIs).
I chose to start with a TOTP generator because
It's a non trivial use case yet not too complex
It allows to meaningfully integrate image acquisition and protocol handling
I already had a UWP version I could reuse the corre logic from
The Google OTP generator uses a web service to scan QR codes, as far as I can tell
I'd be interested in asking for feedback: does the app's UI feel right? What areas can I improve?
kaworu1986 said:
I've been learning Android development recently and finally released my first free app.
It's open source and available on Github too. It's made with C# in Xamarin (not forms though, which meansit uses Android's native APIs).
I chose to start with a TOTP generator because
It's a non trivial use case yet not too complex
It allows to meaningfully integrate image acquisition and protocol handling
I already had a UWP version I could reuse the corre logic from
The Google OTP generator uses a web service to scan QR codes, as far as I can tell
I'd be interested in asking for feedback: does the app's UI feel right? What areas can I improve?
Click to expand...
Click to collapse
It was nice to see that you have your first software released. Congradulations... And thanks for sharing. As I saw you developed your software with Xamarin which is a cross platform framework. It would be great if you can share your experience here: https://forum.xda-developers.com/tools/frameworks/native-vs-cross-platform-t3850250 with other people.
I like to hear more stories about crossplatform and also native coding experiences.
I'm going to give your software a try.
I'm not a fan of material design UI, however your app looks nice. Congratulations for creating your first app.
Congratulations. You made the right choice when decided to create tool. Wish you high ratings and many downloads! I downloaded it on my phone.