This page discusses how to build the Magic Lantern SDK for Android platforms using Android Studio on an Apple Macintosh or Ubuntu 14.04 LTS host development platform.
Note: This technique is currently under development and extremely volatile.
This section identifies dependencies for building the Magic Lantern SDK.
These instructions assume the following:
The source for the Android Studio projects are currently located on Github under the Magic Lantern Studio organization (https://github.com/magic-lantern-android-studio).
In a console window, create a project directory:
$ mkdir ~/MagicLantern
Note: "~" is your home directory (e.g. /home/msm).
In a console window, clone the git repositories from Github:
$ cd ~/MagicLantern
$ git clone https://github.com/magic-lantern-android-studio/core-math.git
$ git clone https://github.com/magic-lantern-android-studio/core-runtime.git
$ git clone https://github.com/magic-lantern-android-studio/parts-base.git
$ git clone https://github.com/magic-lantern-android-studio/parts-actors.git
$ git clone https://github.com/magic-lantern-android-studio/parts-roles.git
$ git clone https://github.com/magic-lantern-android-studio/parts-sets.git
$ git clone https://github.com/magic-lantern-android-studio/parts-stages.git
$ git clone https://github.com/magic-lantern-android-studio/parts-mrefs.git
$ git clone https://github.com/magic-lantern-android-studio/parts-props.git
$ git clone https://github.com/magic-lantern-android-studio/titles-imagetest.git
$ git clone https://github.com/magic-lantern-android-studio/mle-tools.git
You should now have eleven Android Studio projects located in
Project | Description |
---|---|
~/MagicLantern/core-math | Magic Lantern Math utility library |
~/MagicLantern/core-runtime | Magic Lantern Runtime Engine library |
~/MagicLantern/parts-base | Magic Lantern Parts support library |
~/MagicLantern/parts-actors | Magic Lantern Actors library |
~/MagicLantern/parts-roles | Magic Lantern Roles library |
~/MagicLantern/parts-sets | Magic Lantern Sets library |
~/MagicLantern/parts-stages | Magic Lantern Stages library |
~/MagicLantern/parts-mrefs | Magic Lantern Media Reference library |
~/MagicLantern/parts-props | Magic Lantern Properties library |
~/MagicLantern/titles-imagetest | Magic Lantern Image Test application |
~/MagicLantern/mle-tools | Magic Lantern Tools |
Alternatively, you can use the "repo" tool from Google (see [repo Installation Instructions]) to download the source.
$ cd ~/MagicLantern
$ repo init -u https://github.com/magic-lantern-android-studio/mle-tools.git
$ repo sync
To build the Magic Lantern Core Math library, mlmath.jar, open the existing Android Studio project found at "~/MagicLantern/core-math". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/core-math" directory and select "OK". This will bring up the main Android Studio IDE, showing the "core-math" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "core-math->core-math->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The mlmath.jar library will be created in the project's "app/release" directory.
Copy the mlmath.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, core-math, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py core-math"
The output should look like:
Staging core-math... Updating parts-base Updating parts-props Updating parts-roles Updating parts-sets Updating parts-stages Updating parts-actors Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Core Runtime Engine library, mlwrt.jar, open the existing Android Studio project found at "~/MagicLantern/core-runtime". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/core-runtime" directory and select "OK". This will bring up the main Android Studio IDE, showing the "core-runtime" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "core-runtime->core-runtime->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The mlert.jar library will be created in the project's "app/release" directory.
Copy the mlert.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, core-runtime, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py core-runtime"
The output should look like:
Staging core-runtime... Updating parts-actors Updating parts-base Updating parts-mrefs Updating parts-props Updating parts-roles Updating parts-sets Updating parts-stages Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, parts.jar, open the existing Android Studio project found at "~/MagicLantern/parts-base". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-base" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-base" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-base->parts-base->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The parts.jar library will be created in the project's "app/release" directory.
Copy the parts.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-base, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-base"
The output should look like:
Staging parts-base... Updating parts-actors Updating parts-mrefs Updating parts-props Updating parts-roles Updating parts-sets Updating parts-stages Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest Updating test-min3d_01 Updating test-min3d_02 ...Done
To build the Magic Lantern Base library, mrefs.jar, open the existing Android Studio project found at "~/MagicLantern/parts-mrefs". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-mrefs" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-mrefs" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-mrefs->parts-mrefs->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The mrefs.jar library will be created in the project's "app/release" directory.
Copy the mrefs.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-mrefs, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-mrefs"
The output should look like:
Staging parts-mrefs... Updating parts-actors Updating parts-roles Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, roles.jar, open the existing Android Studio project found at "~/MagicLantern/parts-roles". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-roles" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-roles" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-roles->parts-roles->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The roles.jar library will be created in the project's "app/release" directory.
Copy the roles.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-roles, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-roles"
The output should look like:
Staging parts-roles... Updating parts-props Updating parts-sets Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, props.jar, open the existing Android Studio project found at "~/MagicLantern/parts-props". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-props" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-props" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-props->parts-props->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The props.jar library will be created in the project's "app/release" directory.
Copy the props.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-props, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-props"
The output should look like:
Staging parts-props... Updating parts-actors Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, stages.jar, open the existing Android Studio project found at "~/MagicLantern/parts-stages". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-stages" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-stages" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-stages->parts-stages->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The stages.jar library will be created in the project's "app/release" directory.
Copy the props.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-stages, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-stages"
The output should look like:
Staging parts-stages... Updating parts-sets Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, sets.jar, open the existing Android Studio project found at "~/MagicLantern/parts-sets". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-sets" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-sets" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-sets->parts-sets->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The sets.jar library will be created in the project's "app/release" directory.
Copy the sets.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-sets, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-sets"
The output should look like:
Staging parts-sets... Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
To build the Magic Lantern Base library, actors.jar, open the existing Android Studio project found at "~/MagicLantern/parts-actors". In the Android Studio launch screen, select "Open an existing Android Studio project". In the "Open File or Project" dialog panel, navigate to "~/MagicLantern/parts-actors" directory and select "OK". This will bring up the main Android Studio IDE, showing the "parts-actors" project in the "Project" window (you may need to expand this Window to see the project. By default, the project should successfully build.
Note: You may need to install the build tools and sync the project before the build is successful. The "Messages Gradle Sync" window will display an Error if this is the case.
Export the jar by running the "exportJar" Gradle task. To do this, open the "Gradle" window and navigate to the "parts-actors->parts-actors->Tasks->other" folder. There you should see an "exportJar" task; run the task by selecting it (double-click). The actors.jar library will be created in the project's "app/release" directory.
Copy the props.jar library to the other Magic Lantern projects that are dependent upon it. This can be done by running the "~/MagicLantern/mle-tools/scripts/stagelibs.py" python script. Pass in the name of the project, parts-actors, to copy the jar library:
"~/MagicLantern/mle-tools/scripts/stagelibs.py parts-actors"
The output should look like:
Staging parts-actors... Updating titles-imagetest Updating titles-modeltest Updating titles-hellocube Updating titles-cubetest ...Done
The Magic Lantern SDK provides several test applications or titles.
Developer Wiki: Android Studio Installation
Developer Wiki: Cube Test Title for Android
Developer Wiki: Developer_Documentation
Developer Wiki: HelloCube Title for Android
Developer Wiki: Image Test Title for Android
Developer Wiki: Model Test Title for Android
Developer Wiki: repo Installation Instructions