[TOOL][ALL] Assimilation 1.0 - Android Apps and Games

Description
Assimilation is a multi-call shell script, designed to manage Arch Linux chroots.
Open Source
Assimilation is open source and licensed under the Apache License 2.0. You can check out the source code at GitHub.
A More Descriptive Description
Assimilation is a shell script I wrote back in the summer of 2013. Since then I've turned it from an overnight project into an open source project on GitHub.
I've always hated using chroots on my Android device, until I wrote Assimilation that is.
Assimilation will automatically detect your CPU architecture (currently it supports ARMv5 - ARMv8, i686, and x86_64), download the corresponding Arch Linux image and extract it. From there it can automatically mount necessary resources and enter a chroot for you. Once you exit the chroot, it can automatically clean up all mounts for you.
Assimilation runs nicely on my Android smartphone and tablet, as well as my HP Chromebook 11.
What Can I Use Assimilation For?
Glad you asked!
Firstly, Assimilation is not for the faint of heart! You must have access to a Terminal and have root access.
I use Assimilation for a number of things...
- I've turned an old Galaxy S into a personal file server that runs surprisingly fast (will write a guide for this soon).
- I also use Assimilation to use programs like Git on my Chromebook.
If you encounter any problems using Assimilation, please use GitHub's Issue tool to bring it to my attention.
If you like Assimilation (or my other app, Epoch Launcher), please follow me on twitter @mirasmithy

Reserved!

Related

C Code in G1? JF? Anyone?

I'm just wondering is anyone trying this yet? i mean is it even possible?
Just a thought for you big shot android devs out there JF, Haykuro, LucidREM
Google "android jni"
Well, a quick trip around google would have helped you.
Android is using java, and currently it's not possible to use anything else.
But anyway, would you rather compile all of your code for multiple architectures? J makes things easier here...
You can write cli-apps in C though... i heard something about that there was plans to make other languages available in android, but i wouldn't hold my breath
Also, why is this related to JF/Haykuro/LucidREM?
I think you can do this with JNI: http://en.wikipedia.org/wiki/Java_Native_Interface
Using an ARM native compiler (such as the ones at CodeSourcery, http://www.codesourcery.com/sgpp/lite/arm/portal/[email protected]=lite) you can compile your apps and run them fine on the G1
Code:
$ arm-none-linux-gnueabi-gcc -static foo.c -o foo
$ adb push foo /data/foo # we are pushing to /data as it is +rwx (read, write, execute) for a standard user.
$ adb shell /data/foo
a=1
b=2
foo=a+b
foo=3
^^^
OH I love when I stumble across a post like this and have something new to play with.
The problem is due to the different location of the linker and mainly the different libc you have to statically link everything.
I have been having a hell of a time getting DPKG to build statically.
I picked up a copy of the newly released book, Unlocking Android, at Barnes and Noble yesterday. There is a whole chapter devoted to writing native apps using C (and ARM assembler) with the CodeSourcery tools linked above. The author walks through the steps you need to do to dynamically link the libraries so you don't end up with enormous statically linked executables. Well worth the price.
It is surprising what you can do with C on the phone, its actually not too difficult. The method outlined below doesn't use the non native toolchains and if you use the sourcery toolchain (as mentioned above) you will end up with bigger binaries as you need to link in a standard glibc and not androids bionic libc. This may or may not be important for your project.
The other advantage of the steps below is that you will build and link against any library that is available to the android platform
The easiest way that I've found to start when porting or writing new applications is this method.
1) Check out the current git android source.
2) Build the entire tree, "make" in the top level directory.
3) Create a new directory in mydroid/external/packagename/
4) Copy one of the simple android Android.mk (Make) files from a "like" target.
(If doing a library, choose a library, if coding an executable , choose that).
5) source the mydroid/build/envsetup.sh in the users bashrc
6) cd to your directory, then instead of the usual "make" do an mm.
This should create a binary, which you can adb push to the phone and run at the console.
You can do all the usual things if linked properly, like write the framebuffer using sdl, play sounds, create network connections.
Just remember that you dont have a standard libc (glibc) to play around with you have "bionic". If you are missing your favourite glibc function , it is probably intention and not abug. You'll either need to port it or make do with the functions provided by bionic.
These instructions are for a "pure" C program. you can mix the java like dex calling by 'shelling' out to the C application when you need performance, however premature optimization is the root of all evil, you'll be surprised what performance you can pull from davlik (And I expect the VM guys to improve this even further).
I know that is a lot to digest. Will do the best I can to answer your questions. I'm by no means an expert in the area, but have learned a bit about C on android.
Well I don't know much about all this but what i know is that e.g.
ScummVM IS written in C++ , and so is g-arcade.
His FAQ says:
"How did you do this? Is it Java?
No. ScummVM is a C++ program. For this port, I turned it into a really big JNI library so Android still thinks it's running a Java program, but almost all of it is implemented in C++."
(http://sites.google.com/site/scummvmandroid/faq#TOC-How-did-you-do-this-Is-it-Java-)
So if some1 wanna port MAME, feel free to xD

On board android development

Im a fairly knowledgeable computer user without a computer!
I love to write programs!
It really is a shame that there is not an onboard development kit for this platform.
I have tried several implementations available in the market. None of them seem to satisfy my thirst.
Before I gave up on sl 4 a, I learned a little about android virtual machine. When coupled with the right tools, and knowledge, full access to the android java api are possible.
Being that I don't have a computer, I cannot compile any wrappers to handle superclassing the api. As you may know a simple hello world gui will not run on android without a superclass.
It is not my aim to go for full fledged on board development. The overhead is way too high. Ie battery power, syntactical semantics storage space for libraries yada yada yada...
Mozilla has the rhino javascript engine which can execute code within the android virtual machine. However as I said before super classing presents a very serious problem.
I aim to write a bridge in java and javascript. However I have no tools to do the java side work.
I do have access to a shell account with a working j d k, but the j d k is not fully compatible with the android sdk. On top of that I'm faced with the 50 megabytes quota offered with my free shell account. The android sdk is 2.5 gigabytes in size approximately.
To sum it all up there are a few files that I need from the android sdk that will allow me to compile java programs using my free shell, and then convert them for usage on the android virtual machine.
The files in question are as follows:
aapt - weird android packaging mechanism
dx - android virtual machine byte code converter.
From my research I have learned that dx is actually a java program that runs in the standard java implementation.
Well whatever the case is I need these programs running on an Ix86 Unix bsd architecture if anyone out there can supply them pre assembled.
This is not an official request for comments but all comments are appreciated.
Sent from my HTC Magic using Tapatalk
This is how I run my scripts from the shell.
Rhino came to me from sl4a. Sl4a project is unsuccessful @ functional implementation of rhino JavaScript for android at time of this writing.
For whatever purpose sl4a does not execute the dalvik command properly ($BOOTCLASSPATH is being pushed out of context via Rhino or the dalvikvm onLoad) so even though you can install the JavaScript interpreter from sl4a you can't use it without some fancy footwork.
I had to change permissions on my dalvik cache folders as well to get it working on my droid. For some reason the system did not want to accept the rhino library into its dex cache (using cyanogen mod. 6). Just do rwx permissions for everyone on
/data/cache
and
/system/cache
Note that the above file systems are usually mounted read only.
Note also that this is a single line shell command. put it in an sl4a shell script or run it from the terminal.
/system/bin/dalvikvm -Xbootclasspath:/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/mnt/sdcard/com.googlecode.rhinoforandroid/extras/rhino/rhino1_7R2-dex.jar -Xss128k org.mozilla.javascript.tools.shell.Main -O -1
Running this command in the terminal will activate a javascript interpreter shell that has full access to the android java framework.
If you would like to run a script instead of an interactive shell please append the following to the preceding command
-f /path/to/your/script/yourscriptName.js
That line would make an interesting argument to your new shell script!
For more information about Rhino see my next post for suggestions and resources.
if you are interested in this project now is a very good time to learn java programming! I just started yesterday and I haven't been to sleep yet! lol. it is also considered a requirement to learn the android java api if you plan to capitalize on its functionality.
Aye.. time for more coffee ..
- Posted via mobile
SL4A - http://code.google.com/p/android-scripting/
Android API - http://developer.android.com/reference/packages.html
Rhino API - http://www.mozilla.org/rhino/apidocs/index-all.html
Rhino Documentation - http://www.mozilla.org/rhino/doc.html
Suggested Reading
JavaScript The Definitive Guide: 5th
Edition
some books on Java ... classes,
interfaces, overrides, packages,
sub classing, super classing,
inheritance, extends, import
// its pretty much like jascript without
// all that stuff
some books on Android Programming
- Posted via mobile
Avid Droidery said:
To sum it all up there are a few files that I need from the android sdk that will allow me to compile java programs using my free shell, and then convert them for usage on the android virtual machine.
The files in question are as follows:
aapt - weird android packaging mechanism
dx - android virtual machine byte code converter.
Click to expand...
Click to collapse
So no one out there develops for android under linux?
I downloaded the source tree for the davlik virtual machine but there is no make file to compile the project! Tell me that is not aggravating!
The web quotes a file "envsetup.sh" and a command called "lunch" to be run in a 'build' directory. None of these files were supplied with the download. Practices in idiocy should be banned from the web! Lol.
So let's say I used 'git' to grab the source tree of a single project in the android sdk. How am I supposed to build a project with no make file???
The normal way to do this... is to run the gui setup called 'android.' that does me no good. I only have ssh access to my build server!
Is there no 1 out there who can build these files for linux and supply them to me? From what I understand all you need to do is successfully install and configure the sdk and these files will b available to you in the tools directory.
I would like to file an issue about having no text based setup for the android sdk. In the real world we may not always be able to use a graphical user interface. especially under linux/unix/posix! But what good would that do me? I needed these files 3 days ago
*update issue filed under general build questions google groups (PC WIZ)
So let's recap.. if you are using the android sdk under linux or if you have physical access to a unix machine and some spare time I could really use your help!!!!
I would like to make this topic become a reality soon.
- Posted via mobile (as always)
Ok I got dx up and running.
I found where to get the files prebuilt.
http://android.git.kernel.org/?p=pl...11c17b4f5507f00905ec73f2fb90eaa387f72;hb=HEAD
Yes in platform/prebuilt .. @ the android source code repository.
I also downloaded aapt but the library files are not available on my system for this build. I don't have the rights to upgrade my development server. Stay tuned.
Here is stderr output from './aapt':
./aapt: /usr/lib/libz.so.1: no version information available (required by ./aapt)
./aapt: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by ./aapt)
If you are thinking of downloading any files from the source code repository using your android device you will be very disappointed! wget fails to download the raw views of the files and reports them as garbage. The built in download manager just keeps tellin me download unsuccessful. In short it took me the better part of 3 hours to get 3 files using 3 different downloaders.
I was unable to download the shell script 'dx' nor was I able to cut copy paste the full source because android would not let me everything it did let me copy had line terminators removed. Somebody needs to fix that clipboard!! Tell me that's not aggravating!
In retrospect the browser should not say 'select text' as a menu option. It should say 'select some of this text, mangle it and then send it to the clipboard' lol.
Anonymous ftp access should be an open source requirement! I blame today's shortcomings on all open source licenses! Lmfao.
- Posted via mobile
Anyone out there care to donate a 19th/Early 20th century laptop?
I am starting to think like a rhino. I can tell because I'm ready to run my head through the wall! @ aggravating factors.
I am beginning to believe that the android platform is cursed! Lol.
The android devices are awesome! I don't really mean to offend anyone but the software is ****. The source code tree doesn't even resemble a tree.
No offense to Linus Torvalds But you shoulda stuck to hardware programming. I would like to show you a picture of what a git managed project looks like to me.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I don't know anything technical about it but I think you missed a paper or two on derivative theory. I dont know calculus but everyone knows that a seed from a tree makes a new tree. In retrospect, common sense is pure logic dressed up by the mind as a perception of reality.
My perception of your project and the issue of fault may be wrong but this monstrosity is hosted on your site (android.git.kernel.org)
Please don't get me wrong sir linux is the best damn thing running and everyone involved in its development owes that to you.
I really wish the android platform would have stuck with the tried and true GNU development system. Where source code (seeds) can be downloaded as a seperate package and module dependencies (earth, water, sun, etc..) are easily solved.
I predict this platform will fail within the next 10 years because of this build system. It is quite simply too complicated for new programmers to get on board with fresh ideas. Not to mention the amount of prior knowledge and lofty resources it requires to do so. This is a systemic issue. The flow of integration and information is invaluable to software development. I'm here to tell you the **** doesn't flow.
If anyone dares to challenge these points of authority, might you consider telling me why an open source platform with open source software does not have a bona fide linux distribution like Gentoo, damn small linux, or micro linux? I assure you it is not because no one would use it.
- Posted via mobile
Here is a great program if your'e interested in this script business.
http://code.google.com/p/android-scripting/downloads/detail?name=textedit-sl4a.apk&can=2&q=
Let's face it when it comes to the android appearing to multitask things properly it's all about the app! The dialogs are weak but the functionality is perfect. Happy scripting!
- Posted via mobile
Avid Droidery said:
Here is a great program if your'e interested in this script business.
http://code.google.com/p/android-scripting/downloads/detail?name=textedit-sl4a.apk&can=2&q=
Let's face it when it comes to the android appearing to multitask things properly it's all about the app! The dialogs are weak but the functionality is perfect. Happy scripting!
- Posted via mobile
Click to expand...
Click to collapse
Thx ill check it out
Sent from my HTC Knight using telepathy
JKILO said:
Sent from my HTC Knight using telepathy
Click to expand...
Click to collapse
That is even funnier than the guy I saw run into a car on his bicycle today! Luckily for everyone involved he wasn't hurt. Not so sure about his phone though.
You are welcome.
- Posted via mobile
Update. This project is on pause until further notice. I have been thwarted at every attempt to succeed in this endeavor therefore is my understanding that I must retool and upgrade my resources before I am able to provide a definite solution.
Feel free to ask any questions regarding my current research.
Standing by ...
- Posted via mobile
I managed to wrestle my old workstation out of storage.
Some stats
Pentium D 975 Dual Core 3.0 GHz. EM64T
4GB Ram
175 GB HITACHI SATA Gen II HD on Intel RAID Controller
FOXCONN 975X7AB MOBO
I built it back in '07 but she still runs like a champ!
Anyway just wanted to gloat a little... If you were stuck working on an android you might be as happy about your situation! Heck, I'd be happier with a knock off Chinese netbook running Windows CE 5.0. @ 255 MHz.
I predict this platform will fail within the next 10 years because of this build system. It is quite simply too complicated for new programmers to get on board with fresh ideas. Not to mention the amount of prior knowledge and lofty resources it requires to do so. This is a systemic issue. The flow of integration and information is invaluable to software development. I'm here to tell you the **** doesn't flow.
Click to expand...
Click to collapse
So what does flow? It isn't the Android API! Let's compare some code on the topic of User Interface Design and Implementation.
An application with a single button the android way:
Code:
public class MyActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.content_layout_id);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
}
}
Oh wait a second were not done yet! The following code belongs in a separate file:
Code:
// .... some of this document was removed to improve clarity.
<Button
android:id="button_id"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="selfDestruct" />
Seriously all that for one f*%#&n button? It doesn't even do anything when you push it..
Ok that's uh... hmm interesting to say the least. :barf:
Let's look at the same thing in HTML+JS:
Code:
<FORM>
<INPUT TYPE="button" NAME="button" Value="Push Me" onClick="alert('I am not a killer, but don't push me!');">
</FORM>
Simpleton you say? Try this on for size:
Code:
;---------- [Create the Button Control] ----------
INVOKE CreateWindowEx, 0, addr ButtonClass, addr szButText,\
WS_CHILD or WS_VISIBLE or BS_PUSHBUTTON or BS_ICON or \
BS_LEFT or BS_VCENTER or BS_TEXT,\
100, 50, 100, 40, hWnd, 702, hInstance, 0
mov hButCtrl, eax
;---------- [Load the Image] ----------
invoke LoadIcon, hInstance, 901
mov hImage, eax
invoke SendMessage, hButCtrl, BM_SETIMAGE, IMAGE_ICON, hImage
The code above is actually just a snippet from a source file for a 32-Bit Program for Windows written in assembler. But the concept is the same. There is no code here for a click action. To make the example more interesting, this button has an icon drawn onto it.
Sure, I could provide more examples in different languages, but I believe my point is clear here.
Am I the only person here who realizes somebody screwed up when they thought of the API for this platform? I don't understand the reasoning behind this. The programmer spends more time implementing than creating under this platform. When I look at the more complicated apps that are available in the market I have to say well done! But I also have to say "I am sorry about your losses."
Honestly I don't know what to say other than "I wish I was head of R&D for Google over in Mountain View Ca." These guys obviously have no idea what they are doing.
Point and case made by example.
Who wants to collab. with me on an all HTML based GUI framework for the android? Honestly I would love to. Google says this platform is all about code reuse... Hmm... how come there is no /usr/lib directory? You can use their platform to make libraries! but they are for private use only unless you write a 12 chapter book (in code) explaining to the android what people can do with it. Of course then you have to write a real 12 chapter book for the developers on how to use the API you exposed. :barf: :barf: :barf:
Anyway to make matters worse... It is actually easier to program their platform using javascript, but in my honest opinion... It isn't worth the [bad language] trouble... Here's another code excerpt for android in JavaScript:
Code:
// a plethora of code removed to improve clarity....
var buttonRun = new Button(Activity);
buttonRun.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1));
buttonRun.setText(Droid.translate("RUN"));
buttonRun.setOnClickListener(function () {
// code to do some stuff here
});
// even more code removed to improve clarity...
If you are used to reading my posts you will have to excuse my malformed paragraphing. I am used to composing all my posts by voice recognition
So what does all this mean? In regard to the thread topic, this means that you have your work cut out for you. Just look at the JavaScript code above and see how ridiculously close it is to writing a program that must be compiled. Mind you that is only the code to create ONE button. Looking back even further, it was easier in ASSEMBLER.
Ok, Android Scripting. Its more than a great Idea... It's the best Idea anyone ever created for this platform. Its too bad that an entire platform API has to be written nearly from scratch before we can take full use of it. Well, I am working on an implementation of rhino. Everything compiles smoothly from eclipse but I can't really test anything or come up with any ideas because I know I'm headed down the wrong path.
Well I brought you here for your interest so let me boost your interest.
You want GUI programming in script? Visit the following link and click on:
http://droidscript.blogspot.com/2010/03/droidscript-getting-started.html
I wonder why that project 'died' in its infancy He certainly accomplished quite a bit!
LOL I was right about this platform before I ever opened the IDE! LOL
One more point of interest...
Assembler is the fastest (and most powerful) programming language on the planet. I never thought I would live to see the day that I would find another language (other than C++) that was harder to program with. I was wrong. And I will be wrong about this platform coming to a failure if google pulls its head out of its ass (and gives me or my ideas a job.) LOL.
Note to google devs: Keep It Simple Stupid. HTML5 Based Interface is the only way to go. Especially for a device with limited capabilities. The code is already out there and implemented. It only needs to be adapted. Seriously, throw backwards compatibility out the window and work with something that has the roots, credibility, and global support to be worthy of said term.
Anybody who wants to run that bull**** will have to settle for an 'OnBoard Legacy Code Emulator.' Personally I don't have the time to be bothered with your crypto-pseudo-bloatware and neither does my microprocessor. And just in case you are wondering, I am usually the person who has to say: "I told you so."
I have always thought of it to be like you have revealed it to us... Snap, this just means the end of my Android programmer life... so long Androooiid, so long Google !
Re: onboard android programming
I use JavaIDEdroid program with DroidDevelop for compile my android programs on my android device.
I can't paste links here, but you can find its on the market.
They use eclipse Java compiler and some another utilities to provide ability to create correctly working apk files at output.
wow. this is the only posting mentioning DroidDevelop.

[SOURCECODE] Galaxy Fit S5670 GB SOUCECODE

HEllo people,
For people who have been looking for the source code of this phone recently,but are unable to download it due to the registration process at opensource.samsung.com, I am mirroring the source code! Download and Enjoy!
Source Code (127.18 MB)
PLEASE NOTE->
I will not be responsible for any bricking of the device while modification and/or addition of values to the Source Code or the Kernel.
What is Source Code?
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source code, which can then be automatically translated to binary machine code that the computer can directly read and execute. An interpreter translates to machine code and executes it on the fly, while a compiler only translates to machine code that it stores as executable files; these can then be executed as a separate step.
Most computer applications are distributed in a form that includes executable files, but not their source code, which is useful to a user, programmer, or system administrator who wishes to modify the program or understand how it works.
The source code which constitutes a program is usually held in one or more text files stored on a computer's hard disk; usually these files are carefully arranged into a directory tree, known as a source tree. Source code can also be stored in a database (as is common for stored procedures) or elsewhere.
Source code also appears in books and other media; often in the form of small code snippets, but occasionally complete code bases; a well-known case is the source code of PGP.
The notion of source code may also be taken more broadly, to include machine code and notations in graphical languages, neither of which are textual in nature. An example from an article presented on the annual IEEE conference on Source Code Analysis and Manipulation:[1]
For the purpose of clarity ‘source code’ is taken to mean any fully executable description of a software system. It is therefore so construed as to include machine code, very high level languages and executable graphical representations of systems.[2]
The code base of a programming project is the larger collection of all the source code of all the computer programs which make up the project.
It has become common practice to maintain code bases in version control systems.
-> The Kernel and Source code is as seen on Samsung's website
-> Uploaded here in order to avoid regestration process on the website
-> Do NOT download this if you are not sure of what it is or how to edit these
-> Also, Do download if:
-You are planning to develop a kernel
-For Stable CM7 or Future releases
-You are studying the Code
- Bug fixing
- You are learning Kernel dev.
- You belong to the Kernel DEV. TEam of Fit!
------------------------------
CLICK ON TEH THANKS BUTTON, IT DOES NOT EXPLODE!!!
Can I change kernel is Windows or what?
No kernel developing is not supported in windows you need linux you need linux or mac os
omarhasan76 said:
No kernel developing is not supported in windows you need linux you need linux or mac os
Click to expand...
Click to collapse
VMWare or Virtual PC does the job.
Yes, Yes it does! You dont need to install Linux!
ya but its the same thing installing linux or using virtual machine
omarhasan76 said:
ya but its the same thing installing linux or using virtual machine
Click to expand...
Click to collapse
I meant the same.....
Which version/baseband ?
hey this source code is for galaxy ace gt s5830
i guess and not for fit ??

[APP][Linux][amd64]ADB-Frontend (Alpha 0.1)

Hello XDA! Let me introduce you my new Linux app: ADB-Frontend (Alpha 0.1).
I think everyone in this forum knows or at least have heard of ADB, the android debug bridge: a useful set of tools to manage some aspects of your Android device directly from your PC (more informations about ADB).
I use this tool a lot, but I think that sometimes it could be nice to have a user interface to make things a bit faster, and that's why I've created this frontend.
This tool works on Linux if you have installed adb and you invoke it with the simple "adb" command in a terminal. You will also need Qt libraries. I've tested this tool with my Ubuntu 13.04 machine, but it should work on almost every distro.
The binary works on 64 bit machines, if you want a 32 bit version, tell me with an email: I will provide you the source code and give you instructions on how to compile it for your system.
This application is still an Alpha stage, I don't accept donations yet, and this tool is free, so don't complain if features are missing, not working, or if this destroys your PC/phone/tablet, or kills your cat.
Feel free to report a bug replying to this thread.

[C++] Compiling OpenCL application to native ARM ELF using Debian

Hello,
I am posting to begin a thread regarding the native compilation and execution of OpenCL code on an ARM Android device, namely the HTC One M8.
I have used the app Linux Deploy to install a Debian desktop environment alongside Android, sharing the same Linux kernel but supplying different runtime libraries. Additionally, I have installed gcc/g++, Code::Blocks, and the OpenCL ICD and header files necessary to compile a native binary.
My intent is to continue developing a graphics render algorithm, but if I can get a working Android binary from g++ on a GNU toolchain, I would be happy to share generalized source code so that others can do the same with some simplicity.
Currently, I have success compiling a binary with shared libraries for GNU/Linux, but it does not detect the OpenCL devices on my system. I tried statically linking my application, but it refuses to link OpenCL statically.
The way I see it, there are two ways to solve my problem:
1) I assume Debian cannot see devices due to a driver issue, but I could be wrong, and I don't believe appropriate GNU drivers exist at this time. (Please correct me in a response if you know this to be false.) I have talked briefly with some of the folks from the Freedreno project, and it seems the OpenCL compiler is the biggest missing piece between the driver and the hardware. Unfortunately, I do not know if a working driver would even solve the issue in my case.
2) Compile binary with Android shared libraries. This may be most easily done with Eclipse, but I prefer Code::Blocks, so if the libraries could be linked in, then it may be trivial to change IDEs. I suppose it depends entirely on how the NDK handles compilation.
Option 2 is most likely the best course of action. I intend to publish my progress in milestones. Discuss.
XDA:DevDB Information
PLoW, Device Specific App for the Verizon HTC One (M8)
Contributors
Agenthex, agenthex
Version Information
Status: Testing
Created 2015-01-03
Last Updated 2015-01-03
Answer to your question = Mint 17.1 Works for me and this should be in general as this has nothing that you created.

Categories

Resources