Giter Club home page Giter Club logo

androidmono's Introduction

---- setup ----

# This README assumes that your Android NDK directory is located at ~/src/android-ndk.
# Adjust any instructions as necessary.
# The current supported Android NDK is Android NDK r4, and can be found at:
# http://developer.android.com/sdk/ndk/index.html

# Get the androidmono repository which contains the build scripts and patches 
# necessary to build mono.
cd ~/src
git clone git://github.com/koush/androidmono.git

# Use the get-mono.sh script to check out the proper revision of mono from svn and 
# apply any necessary patches. This step may take a while because it builds mono
# and mcs so the assemblies are available for packaging in the APK.
cd androidmono
./get-mono.sh

---- building the mono binaries and jni bindings ----

# This will call ndk-build in the MonoActivity directory and build the android.dll
cd ~/src/androidmono/jni/MonoJavaBridge
./build.sh

---- building and installing the mono APK ----

cd ~/src/androidmono/MonoActivity
ant install

---- running mono from the command line ----

# start up and adb shell and navigate to the proper directory.
adb shell
cd /data/data/com.koushikdutta.mono

# run the test.exe program which prints Hello World and retrieves and prints the
# Yahoo! Homepage.
./mono test.exe

---- rebuilding and using the JNI bindings (pre alpha, heavy development) ----

1) Regenerating the androidsdk.xml from the android.jar in the SDK.
The androidsdk.xml file is part of the repository now, and should generally not need
to be regenerated. But if you want to tweak the XML at all, it can be done as follows.
Import the jni/MonoJavaBridge/JavaObjectModelGenerator project into Eclipse as a standard
Java application. Run the project. When it completes, the androidsdk.xml will be 
created and placed in jni/MonoJavaBridge.

2) Regenerating the android.dll source files.
The android.dll sources are part of the repository now, and should generally not need to
be regenerated unless you change the code generator. Instructions to regenerate are below.
Open the MonoJavaBridge workspace. Run MonoDroid. The android project source files will be 
regenerated.

3) Testing the HelloWorldActivity application.

# This builds the C# application. You can also open it in MonoDevelop and build it.
cd jni/MonoJavaBridge/HelloWorld/
xbuild

# This builds the Android Eclipse application that wraps the C# application. You can
# also use Eclipse to build/run this.
cd Android
ant install

androidmono's People

Contributors

koush avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidmono's Issues

Not working with current version of Mono and Android NDK

Well, just tried to build this on my Macbook Pro (Retina, OS X 10.8), and it failed. I didn't expect it to work, this is pretty old, but I decided to give it a go. Anyway, I forgot to make an error log, but I am pretty sure the problem is either (or both) the version of Mono or the Android NDK version. It would be nice if this could be fixed.

HelloWorldActivity missing

The HelloWorldActivity mentioned in the readme seems to have been removed, or maybe not implemented yet?

README needs changing?

Does the README need changing? When I try to run the Yahoo program there is no EXE file or mono program to run

Error building due to "undefined reference to `WebCore::CSSParser::lex()'"

Just an FYI, there's a known issue** that makes itself known on OS X Leopard 10.5.7 and 10.5.8 which causes the build process to error out with:

~/external/webkit/WebCore/css/CSSParser.cpp:4533: undefined reference to `WebCore::CSSParser::lex()'

There's a handful of related tickets open on the Android project site, each with a few hints here and there as to where the problem exists and how to fix it which, when brought together, (and assuming the same root path of /mydroid) looks like:


cd /mydroid/prebuilt/darwin-x86/flex/
mv flex-2.5.4a flex-2.5.4a-OLD
ln -s /opt/local/bin/flex flex-2.5.4a
touch /mydroid/external/webkit/WebCore/css/tokenizer.flex
cd /mydroid
make

**Sources:
http://code.google.com/p/android/issues/detail?id=4485
http://code.google.com/p/android/issues/detail?id=4943

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.