Related
Android Games WILL be improved thanks to NDK r3 and OpenGL ES 2.0
Developers on the Android platform have already been pushing the boundaries of Android gaming. Even Quake 3 has been seen running on the Android platform. Things can only get better with today’s announcement.
The Android Developers Blog today announced the availability of the NDK r3 that will let android developers directly access OpenGL ES 2.0 features.
Applications targeting Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.
A new trivial sample, named “hello-gl2″, demonstrates how to render a simple triangle using both shader types.
With access to these enhanced OpenGL ES features game graphics should be greatly improved and we should start to see an awesome future for Android gaming. Obviously, we still need developers to take advantage of the new API and have the hardware powerful enough to use it, but everything is getting real close to serious gaming on Android.
Source: Android Developers Blog
Source: AndroidSPIN
-----
What is the Android NDK?
The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.
Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.
The NDK provides:
* A set of tools and build files used to generate native code libraries from C and C++ sources
* A way to embed the corresponding native libraries into application package files (.apks) that can be deployed on Android devices
* A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5
* Documentation, samples, and tutorials
This release of the NDK supports the ARMv5TE machine instruction set and provides stable headers for libc (the C library), libm (the Math library), OpenGL ES (3D graphics library), the JNI interface, and other libraries, as listed in the section below.
The NDK will not benefit most applications. As a developer, you will need to balance its benefits against its drawbacks; notably, using native code does not result in an automatic performance increase, but does always increase application complexity. Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. Simply re-coding a method to run in C usually does not result in a large performance increase. The NDK can, however, can be an effective way to reuse a large corpus of existing C/C++ code.
Please note that the NDK does not enable you to develop native-only applications. Android's primary runtime remains the Dalvik virtual machine.
Contents of the NDK
Development tools
The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:
* libc (C library) headers
* libm (math library) headers
* JNI interface headers
* libz (Zlib compression) headers
* liblog (Android logging) header
* OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
* A Minimal set of headers for C++ support
The NDK also provides a build system that lets you work efficiently with your sources, without having to handle the toolchain/platform/CPU/ABI details. You create very short build files to describe which sources to compile and which Android application will use them — the build system compiles the sources and places the shared libraries directly in your application project.
Important: With the exception of the libraries listed above, native system libraries in the Android platform are not stable and may change in future platform versions. Your applications should only make use of the stable native system libraries provided in this NDK.
Documentation
The NDK package includes a set of documentation that describes the capabilities of the NDK and how to use it to create shared libraries for your Android applications. In this release, the documentation is provided only in the downloadable NDK package. You can find the documentation in the <ndk>/docs/ directory. Included are these files:
* INSTALL.TXT — describes how to install the NDK and configure it for your host system
* OVERVIEW.TXT — provides an overview of the NDK capabilities and usage
* ANDROID-MK.TXT — describes the use of the Android.mk file, which defines the native sources you want to compile
* APPLICATION-MK.TXT — describes the use of the Application.mk file, which describes the native sources required by your Android application
* HOWTO.TXT — information about common tasks associated with NDK development.
* SYSTEM-ISSUES.TXT — known issues in the Android system images that you should be aware of, if you are developing using the NDK.
* STABLE-APIS.TXT — a complete list of the stable APIs exposed by headers in the NDK.
* CPU-ARCH-ABIS.TXT — a description of supported CPU architectures and how to target them.
* CHANGES.TXT — a complete list of changes to the NDK across all releases.
Additionally, the package includes detailed information about the "bionic" C library provided with the Android platform that you should be aware of, if you are developing using the NDK. You can find the documentation in the <ndk>/docs/system/libc/ directory:
* OVERVIEW.TXT — provides an overview of the "bionic" C library and the features it offers.
Sample applications
The NDK includes sample Android applications that illustrate how to use native code in your Android applications. For more information, see Using the Sample Applications.
Click to expand...
Click to collapse
You can download the Android NDK: here
just waiting for it ! Good job!
Kind of makes sense now why the binary 3D driver broke from 1.6->2.0
and i most care about whether our G1 are supported ?!
huhaifan1 said:
and i most care about whether our G1 are supported ?!
Click to expand...
Click to collapse
well if the rumors about every single android device being upgraded to 2.1 in the US are true then id think so. we already have partial 3D working, so i think with this release the devs will be able to make it work
Except the chip in the G1 is not built for 2.0.
IMHO, if you'll see 2.0 drivers on the G1 (or Hero) it'll be software. But I'd love to be proven wrong, so please do.
Chainfire said:
Except the chip in the G1 is not built for 2.0.
IMHO, if you'll see 2.0 drivers on the G1 (or Hero) it'll be software. But I'd love to be proven wrong, so please do.
Click to expand...
Click to collapse
from what ive read on androidspin and phandroid, some phones will receive a slimmer 2.1 that doesnt support lwp OTA. some devs have found ways to use software libs and kernel edits to use partial 3D acceleration in some 2.1 roms. Firerat and Case_ managed to get 3D and Youtube HD working on Canon's Roms. The next OpenEclair should have fully working 3D, lwps, and video according to wesgarner, so i think that this upcoming release mentioned in the article will provide more tools for our devs to use on the G1.
but when EXACTLY - like DATE - are they coming!?
chim4ira312 said:
but when EXACTLY - like DATE - are they coming!?
Click to expand...
Click to collapse
The NDK is available now, maybe the devs should look into it:
http://developer.android.com/intl/de/sdk/ndk/index.html
What is the Android NDK?
The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.
Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.
The NDK provides:
* A set of tools and build files used to generate native code libraries from C and C++ sources
* A way to embed the corresponding native libraries into application package files (.apks) that can be deployed on Android devices
* A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5
* Documentation, samples, and tutorials
This release of the NDK supports the ARMv5TE machine instruction set and provides stable headers for libc (the C library), libm (the Math library), OpenGL ES (3D graphics library), the JNI interface, and other libraries, as listed in the section below.
The NDK will not benefit most applications. As a developer, you will need to balance its benefits against its drawbacks; notably, using native code does not result in an automatic performance increase, but does always increase application complexity. Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. Simply re-coding a method to run in C usually does not result in a large performance increase. The NDK can, however, can be an effective way to reuse a large corpus of existing C/C++ code.
Please note that the NDK does not enable you to develop native-only applications. Android's primary runtime remains the Dalvik virtual machine.
Contents of the NDK
Development tools
The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:
* libc (C library) headers
* libm (math library) headers
* JNI interface headers
* libz (Zlib compression) headers
* liblog (Android logging) header
* OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
* A Minimal set of headers for C++ support
The NDK also provides a build system that lets you work efficiently with your sources, without having to handle the toolchain/platform/CPU/ABI details. You create very short build files to describe which sources to compile and which Android application will use them — the build system compiles the sources and places the shared libraries directly in your application project.
Important: With the exception of the libraries listed above, native system libraries in the Android platform are not stable and may change in future platform versions. Your applications should only make use of the stable native system libraries provided in this NDK.
Documentation
The NDK package includes a set of documentation that describes the capabilities of the NDK and how to use it to create shared libraries for your Android applications. In this release, the documentation is provided only in the downloadable NDK package. You can find the documentation in the <ndk>/docs/ directory. Included are these files:
* INSTALL.TXT — describes how to install the NDK and configure it for your host system
* OVERVIEW.TXT — provides an overview of the NDK capabilities and usage
* ANDROID-MK.TXT — describes the use of the Android.mk file, which defines the native sources you want to compile
* APPLICATION-MK.TXT — describes the use of the Application.mk file, which describes the native sources required by your Android application
* HOWTO.TXT — information about common tasks associated with NDK development.
* SYSTEM-ISSUES.TXT — known issues in the Android system images that you should be aware of, if you are developing using the NDK.
* STABLE-APIS.TXT — a complete list of the stable APIs exposed by headers in the NDK.
* CPU-ARCH-ABIS.TXT — a description of supported CPU architectures and how to target them.
* CHANGES.TXT — a complete list of changes to the NDK across all releases.
Additionally, the package includes detailed information about the "bionic" C library provided with the Android platform that you should be aware of, if you are developing using the NDK. You can find the documentation in the <ndk>/docs/system/libc/ directory:
* OVERVIEW.TXT — provides an overview of the "bionic" C library and the features it offers.
Sample applications
The NDK includes sample Android applications that illustrate how to use native code in your Android applications. For more information, see Using the Sample Applications.
Click to expand...
Click to collapse
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Gary13579 said:
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Click to expand...
Click to collapse
sorry i probably misunderstood the article =/
im still not very experienced with android development, i thought this would help the devs a little bit with getting 3d working (since theyre already doing that without official drivers)
I did indeed get a humongous boner on reading this earlier. It was enhanced by 3D.
My favorite part about this is the new ability to use openGL in apps! That means the entire face of our OS is going to change.
...and speaking of OS... Qualcom/htc just released a new radio for the G1. The G1 To this day holds over 50% of the android installed user base. There is no doubt the G1 will live beyond 1.X
bleah writing games in opengl es 1.0 was hard enough...
Gary13579 said:
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Click to expand...
Click to collapse
agreed
the binary still needs to be available
as far as I can see with have two
the open source one
/system/lib/egl/libGLES_android.so
and the proprietary
/system/lib/egl/libGLES_qcom.so
the quoted text in the OP is basically stating that an Android developer will now be able to mix in a little c/c++ to get direct native access to opengl es
functions
Firerat said:
agreed
the binary still needs to be available
as far as I can see with have two
the open source one
/system/lib/egl/libGLES_android.so
and the proprietary
/system/lib/egl/libGLES_qcom.so
the quoted text in the OP is basically stating that an Android developer will now be able to mix in a little c/c++ to get direct native access to opengl es
functions
Click to expand...
Click to collapse
sorry guys like i said i misunderstood =/ i was hoping the NDK would provide some help but i now see its pretty much for apps, facepalm >_<;
edited the title to avoid further confusion lol
speedysilwady said:
edited the title to avoid further confusion lol
Click to expand...
Click to collapse
Was just about to do that, thanks .
I'm sure we'll get drivers eventually, either hacked or official. Just a matter of time.
Gary13579 said:
Was just about to do that, thanks .
I'm sure we'll get drivers eventually, either hacked or official. Just a matter of time.
Click to expand...
Click to collapse
haha no problem, glad to see i have a moderator type mentality. lol
yeah im sure we will, theyre already partially working, so its only a matter of time hopefully
What Chainfire said is that there is no hardware support for OpenGl ES 2.0 in msm720x chips. (refs here, sorry couldn't find official spec datasheet).
So even if 2.0 is supported, it will only be through software drivers implementation, which means really slow rendering.
spocky12 said:
What Chainfire said is that there is no hardware support for OpenGl ES 2.0 in msm720x chips. (refs here, sorry couldn't find official spec datasheet).
So even if 2.0 is supported, it will only be through software drivers implementation, which means really slow rendering.
Click to expand...
Click to collapse
Thats right.
But most Games will probably/hopefully still be written for OpenGL1.1. (Because of the userbase whatsoever)
For a start, but to focus at the future, too bad, the G1 will get old sooner
The purpose of this thread is to provide a list of desktop apps which have been recompiled to run on hacked Windows RT devices. A secondary purpose is to request or discuss such ports. Listing apps which run without recompilation (.NET 4.x) and providing libraries which are ported and/or known to work are also good uses of the thread. However, major apps, or those expected to lead to significant discussion, should probably get their own thread. Please help keep this one organized.
Please post links to compiled apps for Windows RT desktop, and if possible also link to their source code. I will make minimal testing of the apps before listing them, but nothing extensive; apps may have known or unknown issues, and it's even possible that somebody will link malicious apps here. Use at your own risk.
DO NOT request ports of closed-source applications! It's not possible (unless they're pure .NET 4.x, in which case they don't need to be ported) and you will look like a fool and waste your time. Additionally, at this time, code which requires GCC to build (i.e. can't build under MSVC) is impractical to port.
Latest changes
06 Apr: Updated link for IceChat to a newer version (thanks @TheExileFox!)
03 Sep: Updated the link for Process Hacker (thanks again, @bfosterjr!)
10 Apr: Added pForth and Python's LibFFI.
22 Dec: Added TeXStudio.
20 Dec: Added Nethack and Greenshot.
12 Dec: Added MicroEMACS. Updated Subversion and Notepad++.
21 Aug: Added AvP Classic.
20 Aug: Added Paint.NET, highlighted the step needed to use ClassicStartMenu.
16 Aug: Added Subversion and AutoHotKey.
10 Aug: Added Fossil.
22 Jul: Added ffmpeg, Halite, and Lua.
8 Jul: Added QupZilla, SPGT client, and QuiteRSS.
26 Jun: Added Snes9x, FileZilla, and WinMerge.
25 Jun: Added OpenSSL, QT4, and Perl, updated Synergy.
10 Jun: Added Coolplayer (Update: now with FLAC plugin).
7 Jun: Added GlDirect library and ioQuake3.
5 Jun: Updated link for Quake to the D3D version.
12 May: Added MFPDemo (sorry I was late posting it).
2 May: Added WinDjVu.
28 Apr: Added an updated version of MFC.
truncated...
Apps which have been recompiled:
Bochs. x86 Emulator. Known issue: no network support. http://forum.xda-developers.com/attachment.php?attachmentid=1625048&d=1357575232
TightVNC. VNC server and client. http://forum.xda-developers.com/attachment.php?attachmentid=1624600&d=1357561475
PuTTY Suite. SSH/Rsh/telnet client and helpers. Printing fixed in this build. http://forum.xda-developers.com/attachment.php?attachmentid=1637160&d=1357948281
7-Zip. Utility for file archives and disk images. https://mega.co.nz/#!FhQV3SZA!MWayY1mV4b7Bvjs9nJNq_yiQxDEaJFQpnnA3ZNApq7g
Notepad++. Powerful but simple text/code editor New update and Compare plugin. http://forum.xda-developers.com/showthread.php?t=2556112
SciTE. Code editor (http://www.scintilla.org/SciTE.html). http://fearthecowboy.com/stuff/wscite.zip (Thanks to XDA-Devs member FearTheCowboy)
IP Messenger. Peer-to-peer chat/file transfer (http://ipmsg.org/index.html.en). Binaries at http://forum.xda-developers.com/attachment.php?attachmentid=1633711&d=1357842066, source at http://forum.xda-developers.com/attachment.php?attachmentid=1633715&d=1357842310
Unikey 3.6. Known issue: without RtfIO, the "Toolkit" and "Conversion on the fly" features won't work. Older 3.1 build posted below https://dl.dropbox.com/u/8557161/rt/unikeyNT3.62_arm.7z (Thanks minhtuan99bk)
CrystalBoy. Nintendo Gameboy emulator. Known issue: uses GDI+ instead of DirectX, may reduce performance. Conflicting reports as to whether it works. http://sdrv.ms/11kcXXL Thanks to DXA-Developers member daveoggy.
ClassicStartMenu. Provides a hierarchical Start menu on the desktop taskbar. Restart Explorer after you run it! http://forum.xda-developers.com/attachment.php?attachmentid=1640579&d=1358061318 (Thanks Netham45).
Quake 2. First-person shooter game. http://forum.xda-developers.com/attachment.php?attachmentid=1640830&d=1358070370
OpenTTD. Open-source clone of Transport Tycoon Deluxe (transportation simulation game). Known issues and download link HERE: http://forum.xda-developers.com/showpost.php?p=36674868&postcount=151
DOSBox. DOS on x86 emulator. Updated again with better performance. http://forum.xda-developers.com/showpost.php?p=36620852&postcount=117
Node.JS.: JavaScript program/web server execution environment. Will be slower than usual due to lack of v8 JIT. More info: http://forum.xda-developers.com/showpost.php?p=36694633&postcount=1
FAR Manager. 2-panel terminal-based File/Archive manager (think Total Commander, etc.). Updated with plugins. http://forum.xda-developers.com/showpost.php?p=36733772&postcount=1
Miranda IM. Multi-protocol chat/IM client. http://forum.xda-developers.com/attachment.php?attachmentid=1649674&d=1358334467
Vim, GVim, etc. Code and text editor. Info and download links here: http://forum.xda-developers.com/showthread.php?p=36930991
SumatraPDF. Document reader (PDFs, possibly some other formats). Read and download here: http://forum.xda-developers.com/showthread.php?t=2098594
Audacity. Digital audio recording and editing. Info and downloads: http://forum.xda-developers.com/showthread.php?t=2103779
VirtuaWin. Virtual desktop utility. http://forum.xda-developers.com/showthread.php?t=2110131
Mini vMac. Emulator for very early Macintosh computers. http://forum.xda-developers.com/attachment.php?attachmentid=1662947&d=1358737954
Rainmeter. Desktop customization / skinning tool. Many but not all features work: http://forum.xda-developers.com/showpost.php?p=37018422&postcount=282
OpenSSL. Crypto tool, can generate keys and certificates. May have some issues with large ECC keys. http://forum.xda-developers.com/showthread.php?t=2113595
MiKteX. LaTeX compiler (typesetting tool). Script is interpreted instead of JITed but works fine. http://forum.xda-developers.com/showthread.php?t=2113634
Greenshot. Advanced screenshot tool. http://forum.xda-developers.com/showthread.php?t=2114273
Iperf. Network performance testing tool. http://forum.xda-developers.com/showthread.php?p=37346221#post37346221
MongoDB. NoSQL database. Mongo shell doesn't work correctly locally, but the server works and other clients should as well. http://forum.xda-developers.com/showthread.php?p=37475852
ScummVM. Game platform for many older games. Known issues: many disabled features and some crashes reported in this early build. http://forum.xda-developers.com/showpost.php?p=37583092&postcount=402
ResidualVM. Platform for many old-ish 3D games. Known issues: many disabled features, most engines don't work yet. More info and download: http://forum.xda-developers.com/showpost.php?p=37632363&postcount=411
Superputty. Enhanced version of PuTTY Suite with more features. http://sdrv.ms/151FWzT (Thanks to Erwan12)
NZB-O-Matic. Newsgroup post downloader (NZB download tool). http://forum.xda-developers.com/showpost.php?p=37886354&postcount=438
WabbitEMU. Texas Instruments graphing calculator emulator and dev tools. http://forum.xda-developers.com/showpost.php?p=37928562&postcount=442
Regshot. Registry shapshot/comparison tool. http://forum.xda-developers.com/showpost.php?p=37933687&postcount=1
CorsixTH. Engine for the game Theme Hospital. Includes demo, easy to use full version if you have it: http://forum.xda-developers.com/showpost.php?p=38067653&postcount=466
FreeRA. Command & Conquer Red Alert (RTS game) engine. Requires game data files. http://forum.xda-developers.com/showpost.php?p=38072727&postcount=468
FreeSynd. Syndicate (game) engine. No cutscene sound, requires game files. https://www.dropbox.com/s/ca0n0atmfl74306/Freesynd.zip
Pentagram. Ultima VIII (game) engine. Required game files. http://forum.xda-developers.com/showpost.php?p=38295828&postcount=518
Free Download Manager. Standalone file downloader and bittorrent client. Has some known issues but works: http://forum.xda-developers.com/showthread.php?t=2170002
PrBoom. DOOM game engine (can use the included shareware WAD file or other game files). http://forum.xda-developers.com/showthread.php?t=2175449
ChocolateDuke3D. Duke Nukem 3D game engine. Requires game files. Has a known sound bug with workaround. http://forum.xda-developers.com/showpost.php?p=38752618&postcount=561
GemRG. Infinity game engine clone (used for games like Baldur's Gate, Icewind Dale, and Planescape: Torment). Runs pretty well although some of the newer games may stutter a little. Requires the game files from a standard install. http://forum.xda-developers.com/showthread.php?t=2177954
Process Hacker. Advanced process inspection / control tool similar to Sysinternals Process Monitor. Updated to 2.33! http://forum.xda-developers.com/windows-8-rt/rt-development/app-processhacker-2-33-t2865384
FinalBurn Alpha. Arcade game emulator. Port is still considered "alpha" quality. http://forum.xda-developers.com/showthread.php?t=2187370
SharpDevelop. C# IDE. Debugging is not yet supported and some setup work is required: http://forum.xda-developers.com/showpost.php?p=39276938&postcount=615
MAME. Arcade machine emulator (requires ROMs). Not yet fully tested; performance issues reported with some games. http://forum.xda-developers.com/showthread.php?t=2237754
WinDjVu. DjVu document viewer. http://forum.xda-developers.com/showpost.php?p=40931011&postcount=687
MFPDemo. A desktop player for video files. http://forum.xda-developers.com/showpost.php?p=40997441&postcount=691
Quake (original version) running in Direct3D (runs faster than the one that was listed here before). Instructions and downloads: http://forum.xda-developers.com/showthread.php?t=2312019
ioQuake3 (Quake 3 Arena). Requires game files. Instructions and download: http://forum.xda-developers.com/showpost.php?p=42338198&postcount=1
Coolplayer. Skinnable music player, now with FLAC support. Extra themes are available for download from the site. http://forum.xda-developers.com/showthread.php?t=2318000
Synergy. Use one mouse and keyboard across PCs (including Linux & Mac). Now with 1.4.12 beta. http://forum.xda-developers.com/showthread.php?p=37609926
Snes9x. Super Nintendo console emulator. Some features are disabled but games appear to work fine. http://forum.xda-developers.com/showthread.php?t=2339228
FileZilla. Graphical file transfer program. No support for encrypted protocols in this build, only plain FTP. http://forum.xda-developers.com/showthread.php?t=2340616
WinMerge. Diff(erencing) and merging tool. All features should work but this version is a little old; a newer one may come later. http://forum.xda-developers.com/showthread.php?t=2340560
QuiteRSS. Stand-alone RSS feed reader with embedded browser. http://forum.xda-developers.com/showthread.php?t=2355277
Single Player Game Transmitter client. Streams 3D apps with good quality and responsiveness. http://forum.xda-developers.com/showthread.php?t=2355051
QupZilla. WebKit-based web browser. Uses interpreted JS. http://forum.xda-developers.com/showthread.php?t=2353048
Lua. Scripting language, most commonly used for games. http://forum.xda-developers.com/showthread.php?p=43808775
Halite. Nice BitTorrent client somewhat like uTorrent. Currently only includes English support. Magnet links may not work...? http://forum.xda-developers.com/showthread.php?t=2372058
ffmpeg. Video player. May be very slow with some codecs. http://forum.xda-developers.com/showthread.php?t=2368706
Fossil SCM. Distributed version control software (sort of like Git or Mercurial). http://forum.xda-developers.com/showthread.php?t=2400099
Subversion. New update 1.8.5 with OpenSSL 1.0.1e. Widely used version control software. http://forum.xda-developers.com/showthread.php?t=2494931
AutoHotKey. Keyboard macros and powerful automation of Windows functions. http://forum.xda-developers.com/showthread.php?t=2408417
Paint.NET. Image manipulation program. http://forum.xda-developers.com/showthread.php?t=2411497
Alien vs. Predator Classic. First-person games based on the movies. Requires game files. http://forum.xda-developers.com/showthread.php?t=2414431
MicroEMACS. Small, EMACS-like text/code editor. Thanks to @acrossland! Binary available at Download link. https://bitbucket.org/adamcrossland/microemacs-for-surfacert
Nethack. The venerable and classic "roguelike" RPG. http://forum.xda-developers.com/showthread.php?t=2576998
TeXStudio. IDE for LaTeX documents. Requires a compiler such as MiKteX (linked above). http://forum.xda-developers.com/showthread.php?t=2493219
pForth. Interpreter for the Forth programming language. Docs and samples available as well as binary: http://forum.xda-developers.com/showthread.php?p=51795065
Python 2.7.3. Programming/scripting language and runtime. New: Experimental FFI should make much more code work. (Thanks @e13000!) Runtime: http://forum.xda-developers.com/showpost.php?p=50687352&postcount=921 LibFFI: https://drive.google.com/file/d/0ByNfJPIJQw6hRnlPMHM3b1FFUFU/edit?usp=sharing
Apps which run un-modified
Keepass Portable. Password storage wallet. http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip
Mouse Without Borders. Use one mouse across PCs (like Synergy). Install instructions here: http://forum.xda-developers.com/showpost.php?p=36428923&postcount=258
Transmission.Net Remote. Remote control of a Transmission BitTorrent service. http://forum.xda-developers.com/showthread.php?t=2101891
ShareX. Screen capture/upload utility. https://mega.co.nz/#!VxYVDZAS!KyyL8gGvjrcZWjEIOp3j_WnZqDsSucB_b3YcS0f-TbE
IceChat. IRC client. http://forum.xda-developers.com/attachment.php?attachmentid=3221171&stc=1&d=1426912901
IKVM. Java, implemented in .NET (can run many pure-Java apps). http://www.ikvm.net/
Fiddler 4. Advanced HTTP proxy. To install, unpack the .EXE as an archive using 7-Zip. To run correctly, copy the file Microsoft.JScript.dll from \Windows\Microsoft.NET\Framework\v4.0.30319\ on a Win8 machine (older Windows versions may also work) to the Fiddler "install" (unpacked) directory. http://www.fiddler2.com/fiddler2/version.asp
Boxie. Multipurpose utility (image conversion, file management stuff, etc.). http://boxie.codeplex.com/ (Info: http://boxie.codeplex.com/documentation)
DtPad. Text/code editor. You can use the installer; there will be a warning but it's reported to work after clickthrough. http://dtpad.codeplex.com/
BoxWorld. Sokoban game. Extract the binaries from the installer using 7-Zip. http://boxworld.codeplex.com/
AstroGrep. Regular expression file/text search tool (basically, Unix grep). http://sourceforge.net/projects/astrogrep/
Notepad Enhanced. Simple text editor with tabbed interface. http://forum.xda-developers.com/showpost.php?p=37370164&postcount=374 for info.
QuickSharp. C# IDE. Info at the same link as Notepad Enhanced, and also here: http://forum.xda-developers.com/showpost.php?p=37385385&postcount=378
Remote TrackPad Server. Allows controlling a PC using a Windows Phone as a server. Use the.NET 4.5 server build: http://www.luecho.com/trackpad/
ImageGlass. Image viewing program. Runs fine but crashes on exit. https://github.com/d2phap/ImageGlass (Thanks igator)
Be.HexEditor. Simple editor capable of opening any file, including binary, and editing in text or hexadecimal. Requires changing a config file. http://forum.xda-developers.com/showpost.php?p=39152904&postcount=611
WindowsAppBoss. Simplifies managing sideloaded or provisioned (i.e. not-from-the-store) Metro apps. http://windowsappboss.codeplex.com/
Perl 5.12.4. Popular scripting language, especially for working with strings. Official Microsoft-signed binary will run even without jailbreak: http://forum.xda-developers.com/showthread.php?t=2331691
Greenshot. Advanced screenshot tool. Plugins may not work. http://forum.xda-developers.com/showpost.php?p=48682150&postcount=905
Native-ported libraries (mostly for developers/porters)
LZMA (compression): DLL
SDL (Simple Directmedia Layer). Used for a lot of game software, among other things. http://forum.xda-developers.com/showpost.php?p=36620852&postcount=117
OpenSSL (cryptography toolkit). Used by a great many open source programs that do any crypto. May have some problems with elliptical curve crypto. http://forum.xda-developers.com/showthread.php?t=2113595
Zlib (compression). Used by many open-source libraries that need to handle compressed data. http://forum.xda-developers.com/showthread.php?t=2113684
libFLAC_static, libmad, libogg_static, libpng, libtheora_static, libvorbis_static, libvorbisfile_static (media codecs). Support popular audio and video compressed formats. https://www.dropbox.com/s/rhxn7pwygfh6pka/ARMlibs.zip
Boost. Commonly used C++ library/framework. Please do not download unless you need it, as doing so will use considerable bandwidth from the host. http://forum.xda-developers.com/showpost.php?p=38313568&postcount=524
wxWidgets. Common C++ library/framework for cross-platform graphical apps. https://dl.dropbox.com/u/39887/wxMSW-2.8.12-libs.7z
MFC (Microsoft Foundation Classes). C++ library/framework used by many older Windows programs. http://forum.xda-developers.com/showpost.php?p=40802296&postcount=59
GlDirect (OpenGL-DirectX wrapper). Adds support for OpenGL code by wrapping Direct3D 9. http://forum.xda-developers.com/showpost.php?p=42271138&postcount=4
QT 4.8.4 (C++ utility and graphics framework). Used by many cross-platform open-source programs. http://forum.xda-developers.com/showthread.php?t=2339014
Apps removed for known issues:
MonoTorrent Client. BitTorrent client, both GUI and CLI. Currently experimental/alpha quality, many people have reported that they can't download anything. GUI, CLI, More info.
Please recompile the Unikey (app helps typing Vietnamese on x86) since rt have no vietnamese keyboard. This is the app that everyone in Viet Nam is waiting to make the rt perfect for daily use. Thank you so much.
Here is its website: 'unikey.org'
http://ipmsg.org/index.html.en
a open source lan chat tool.I was able to compile it but it cant send message.you can have a try on it.
Netham45 posted a link to someones compiled notepad++ V6.2
http://forum.xda-developers.com/showpost.php?p=36516405&postcount=337
Thanks all. I'm looking at compiling UniKey (although it will be an old version, as the development 4.x branch is not yet open sourced). I'll also look into ipmsg. Appreciate the links.
EDIT: Ugh. The GPL for UniKey is a lie (ironic, since the author *****es about people violating the GPL with his code... yet doesn't comply with it himself). It relies on a library which is only distributed in binary form, RtfIO. I can probably build the 3.1 version (which is from 2006, and should be pre-RtfIO) since, aside from the occasional piece of truly awful code practices (lots of implicit types and improper use of variable scoping) that may have been permitted by older compilers but don't work in VS 2012, there's nothing difficult about building the app. I could even build 3.6 if the author would release an ARM version of RtfIO... I couldn't legally distribute it under the GPL at that point, but I could build it.
Unless you want me to give 3.1 a shot, you're going to have to ask the author for either the source to RtfIO or an ARM-compiled .LIB file of it.
Can you give a go at a TransmissionBT console as well?
http://www.transmissionbt.com/resources/
I've been looking into a bittorrent client already.
Transmission, unfortunately, is one of those many open source apps which technically compile on Windows, but only within a GNU-like environment, and in particular it expects to use GCC. While it may be possible to use MinGW to cross-compile for Windows on ARM, that's not the native behavior and will take more investigation.
EDIT: Hadouken, at hdkn.net, appears to be a pure .NET app. It's distributed as a .MSI which doesn't work on ARM< but it may be possible to build it for .NET 4.5 architecture-independent, in which case it should run on Windows RT. It's a BitTorrent client the runs as a Windows service rather than a normal desktop apps, and uses a web interface to control it. Should work fine, though...
GoodDayToDie said:
I've been looking into a bittorrent client already.
Transmission, unfortunately, is one of those many open source apps which technically compile on Windows, but only within a GNU-like environment, and in particular it expects to use GCC. While it may be possible to use MinGW to cross-compile for Windows on ARM, that's not the native behavior and will take more investigation.
EDIT: Hadouken, at hdkn.net, appears to be a pure .NET app. It's distributed as a .MSI which doesn't work on ARM< but it may be possible to build it for .NET 4.5 architecture-independent, in which case it should run on Windows RT. It's a BitTorrent client the runs as a Windows service rather than a normal desktop apps, and uses a web interface to control it. Should work fine, though...
Click to expand...
Click to collapse
http://sourceforge.net/projects/wintransmission/ seems to be a c# port of transmission. less dev than the QT version, but more suitable for us.
I will be taking a look at the effort involved in getting a dev environment working (either monodev or sharpdevelop)
@windowsrtc: I got IPMsg working, it's fine send and receive. I had to remove some platform-specific debug code (I could have written the ARM portion, but was feeling lazy) but it shouldn't matter except that crash logs won't be generated.
Binaries, including installer, are in the smaller ZIP file. Modified source code used to build them is in the _SRC archive.
Also, any pure .net 4.5 app will work on the RT too.
I've gotten Mouse without Borders, a MS-made synergy alternative running great on the Surface.
Check this post: http://forum.xda-developers.com/showpost.php?p=36428923&postcount=258
OK, got a build of Unikey 3.1 here. Better than nothing, right?
VLC - do you think Surface RT has all the OS components required for VLC? I would like mkv support on Surface RT and VLC would be a good step in that direction.
ok... as bad as this will sound... java... don't judge me!
@programabd: I think VLC uses some assembly in its decoders, which will make porting difficult. I know there are ARM build already, do it's possible, but there are lots of thing which build on Windows, and build for ARM, but don't build for WIndows on ARM.
@apatcas: Already looked into it. Getting Java support would give a huge number of apps ready-to-go, and however distasteful I find the language or however bad the browser plugin security is, it would be good to have. Unfortunately, the only ARM-ready versions of Java currently available are for Linux, not Windows. It's possible to port, of course, but it'll be a lot of work.
programabd said:
VLC - do you think Surface RT has all the OS components required for VLC? I would like mkv support on Surface RT and VLC would be a good step in that direction.
Click to expand...
Click to collapse
Haven't they started making their own port through the kickstarter campaign, they're making a windows 8 metro style app first then stating on an Rt version, probably not see it this side of Christmas though
Edit: here's the link:
http://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
martyj999 said:
Haven't they started making their own port through the kickstarter campaign, they're making a windows 8 metro style app first then stating on an Rt version, probably not see it this side of Christmas though
Edit: here's the link:
http://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
Click to expand...
Click to collapse
Thanks - I wish they would just bypass the handcuffed Metro environment, and just go for a full port to desktop ARM, but that's pretty unlikely
GoodDayToDie said:
Thanks all. I'm looking at compiling UniKey (although it will be an old version, as the development 4.x branch is not yet open sourced). I'll also look into ipmsg. Appreciate the links.
EDIT: Ugh. The GPL for UniKey is a lie (ironic, since the author *****es about people violating the GPL with his code... yet doesn't comply with it himself). It relies on a library which is only distributed in binary form, RtfIO. I can probably build the 3.1 version (which is from 2006, and should be pre-RtfIO) since, aside from the occasional piece of truly awful code practices (lots of implicit types and improper use of variable scoping) that may have been permitted by older compilers but don't work in VS 2012, there's nothing difficult about building the app. I could even build 3.6 if the author would release an ARM version of RtfIO... I couldn't legally distribute it under the GPL at that point, but I could build it.
Unless you want me to give 3.1 a shot, you're going to have to ask the author for either the source to RtfIO or an ARM-compiled .LIB file of it.
Click to expand...
Click to collapse
he leaves no contact information so I think there is no way to ask him for anything. In that case, if only you could help us building the 3.6 version which could be better with the open source on his website, I think 3.1 is enough for use. We, vietnamese, really appreciate your effort. Thank you.
apatcas said:
ok... as bad as this will sound... java... don't judge me!
Click to expand...
Click to collapse
This would be amazing as hard as it might be to get a port. Minecraft, people
GoodDayToDie said:
@windowsrtc: I got IPMsg working, it's fine send and receive. I had to remove some platform-specific debug code (I could have written the ARM portion, but was feeling lazy) but it shouldn't matter except that crash logs won't be generated.
Binaries, including installer, are in the smaller ZIP file. Modified source code used to build them is in the _SRC archive.
Click to expand...
Click to collapse
thank you
finally I found I didnt use it in the right way.I must select a "user"before sending a message and it works.
Bytecode Viewer is an Advanced Lightweight Java Bytecode Viewer, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger and more.
It's written completely in Java, and it's open sourced. It's currently being maintained and developed by Konloch.
There is also a plugin system that will allow you to interact with the loaded classfiles, for example you can write a String deobfuscator, a malicious code searcher, or something else you can think of.
You can either use one of the pre-written plugins, or write your own. It supports groovy, python and ruby scripting. Once a plugin is activated, it will execute the plugin with a ClassNode ArrayList of every single class loaded in BCV, this allows the user to handle it completely using ASM 3.3.
Key Features:
APK/DEX Support - Using Dex2Jar and Jar2Dex it's able to load and save APKs with ease!
Java Decompiler - It utilizes FernFlower, Procyon and CFR for decompilation.
Bytecode Decompiler - A modified version of CFIDE's.
Hex Viewer - Powered by JHexPane.
Each Decompiler/Viewer is toggleable, you can also select what will display on each pane.
Fully Featured Search System - Search through strings, functions, variables and more!
A Plugin System With Built In Plugins - (Show All Strings, Malicious Code Scanner, String Decrypters, etc)
Fully Featured Scripting System That Supports Groovy, Python And Ruby.
EZ-Inject - Graphically insert hooks and debugging code, invoke main and start the program.
Recent Files & Recent Plugins.
And more! Give it a try for yourself!
Code from various projects has been used, including but not limited to:
J-RET by WaterWolf
JHexPane by Sam Koivu
RSynaxPane by Robert Futrell
Commons IO by Apache
ASM by OW2
FernFlower by Stiver
Procyon by Mstrobel
CFR by Lee Benfield
CFIDE by Bibl
Contributors:
Konloch
Bibl
Fluke
Righteous
sahitya-pavurala
priav03
Afffsdd
Website: https://bytecodeviewer.com
Source Code: https://github.com/konloch/bytecode-viewer
Bin/Archive: https://github.com/konloch/bytecode-viewer/releases
Java Docs: https://the.bytecode.club/docs/bytecode-viewer/
License (Copyleft): https://raw.githubusercontent.com/Konloch/bytecode-viewer/master/LICENSE
Report Bugs (or below): https://github.com/Konloch/bytecode-viewer/issues
__________________________________________________________________________
Thanks for the hardwork, Will try it out...
Congrats!!
A "must-have" tool for sure... Thanks for your hard work!!!
Thanks! If any of you have any questions, or have a suggestion just reply here and I'll answer asap.
2.6.0 is out now! The biggest feature is smali editing. You can download it here https://github.com/Konloch/bytecode-viewer/releases/tag/v2.6.0
2.9.0 is released, contains LOTS of improvements for android APKs! If you've tried BCV in the past I urge you to try it again, you'll love the updates.
Konloch said:
2.9.0 is released, contains LOTS of improvements for android APKs! If you've tried BCV in the past I urge you to try it again, you'll love the updates.
Click to expand...
Click to collapse
I tried the v2.9.2 today, but was unable to make it work properly.
Used OpenJDK/JRE 7, 8, 9 on a ubuntu 14.04 with no success.
I get a blank window - I can open a file with control + o, but each time the app gives a message about not finding the temporary file which is supposed to be created (but isn't) in /home/user/.Bytecode-Viewer/bcv_temp/
I don't have any spaces in my path.
I see dex2jar running on the apk, but nothing gets created in the bcv_temp
I tried with different apks with no success.
I can decompile my apk just fine with jadx & apktool.
adwinp said:
I tried the v2.9.2 today, but was unable to make it work properly.
Used OpenJDK/JRE 7, 8, 9 on a ubuntu 14.04 with no success.
I get a blank window - I can open a file with control + o, but each time the app gives a message about not finding the temporary file which is supposed to be created (but isn't) in /home/user/.Bytecode-Viewer/bcv_temp/
I don't have any spaces in my path.
I see dex2jar running on the apk, but nothing gets created in the bcv_temp
I tried with different apks with no success.
I can decompile my apk just fine with jadx & apktool.
Click to expand...
Click to collapse
would you be able to add kalenkinloch on Skype to help me debug this issue more?
Bytecode Viewer on Android?!
Looks like an amazing tool!
Any chance it could be released as an Apk to run directly on Android devices?
Not having a PC and so using Show Java (com.njlabs.showjava) and AIDE (com.aide.ui).
Would be most interested to add Bytecode Viewer to my tool case!
Thank you!
Is there a quick start guide of sorts for this? Recompiling .java files seems promising as I am trying to disinfect a custom lockscreen APK to no avail.
And would it be possible for this to interface with the Android Studio/SDK, especially in case you're more comfortable with editing .java sources instead of having to decipher lines upon lines of bytecode?
I want to create a mobile browser based platform that can run webapps.
Please can anyone guide me through it ?
It sounds like you can pretty much start with one of the sample apps from Android Studio and drop in a webview. Assuming you want to bundle a webapp with your app, you can just drop the html into your assets directory and load your the asset url into your webview on Activity start. However, if you're not familiar with Android development, it might be a better idea to look around for a tool that does this for you - there are lots of libraries and sample apps out there that will do a lot of the heavy lifting on native apps wrapping fullscreen webviews for you
I create ScrapperMin a Bot Creator for Windows and Android (Can compile your script into APK)
Download in Play Store : ScrapperMin in Play Store
Documentation : ScrapperMin
Whats for?
1. Auto Login/Auto Posting/Auto Scraping/Auto Download File/Auto Upload File (All you need is to write a script for your task)
2. Automate your daily task or your clients task, just write a script compile to APK and give it to them, or even uploaded to play store
Pro
1. Easy to learn C like language with lots of ready made method for doing communication with website using HTTP Protocol, String Operations such as search between two words (TagMatch), File Operations.
2. Can Compile your script into APK and distribute it in Play Store complete with keystore generated for your keep safe
3. Can Run the script inside the App for testing and later deploy it as APK
4. Have documentation of what Libraries it has offer (see the website)
5. Have Windows and Android version where your script can be run in both platform (most features are compatible, some has not been implemented in Android version like OAuth libraries)
6. Any website accept HTTP protocol can be automated not only just the one offering API.
7. ITS FREE!!
Cons
1. You need to have basic programming skill
2. You need to know what parameter the website you want to automate accept, use Fiddler or browser (F12 developer console) or similar software to capture the package and analyze the input/output
Learn scrappermin syntax is easy, read the docs here : PDF Guide