| {namespace buck.quick_start} |
| |
| /***/ |
| {template .soyweb} |
| |
| {call buck.header} |
| {param title: 'Quick Start' /} |
| {/call} |
| |
| <div class="{css overview}"> |
| |
| {call buck.platformWarning /} |
| |
| This is a quick start guide for getting up and running with Buck. |
| To make it easy to get started, Buck provides a command, {call buck.cmd_quickstart /}, |
| which creates a simple Android project that is configured to be built with Buck |
| out of the box. |
| <p> |
| If you are uncomfortable using a command to generate a project for you, |
| then you may want to go through the <a href="manual_quick_start.html">manual quick start guide</a>, |
| which provides step-by-step instructions for creating your first project. |
| The contents and purpose of each file needed to bootstrap the project are explained in the guide. |
| |
| <h2>Step 1: Install Buck</h2> |
| |
| As these are the "Quick Start" instructions, we assume that you already have tools |
| such as Ant and the Android SDK installed on your machine. If you are not sure, |
| then you may want to follow the more detailed instructions for installing Buck in{sp} |
| <a href="install.html">Downloading and Installing Buck</a>. |
| |
| <p> |
| |
| Run the following commands to checkout Buck from GitHub, build it, and add it to your <code>$PATH</code>: |
| {call buck.installationInstructions}{param withAlias : true /}{/call} |
| |
| While there, you may also want to set up <a href="{ROOT}command/buckd.html"><code>buckd</code></a>: |
| |
| <pre>sudo ln -s ${lb}PWD{rb}/bin/buckd /usr/bin/buckd</pre> |
| |
| <em>Currently, there is no way to download a precompiled binary for Buck.</em> |
| |
| <h2>Step 2: Run "buck quickstart"</h2> |
| |
| Now that you have Buck installed on your machine, |
| let's use it to build a sample Android application. |
| |
| <p> |
| |
| We should start our project in an empty directory, |
| so create a new directory, navigate to it, and run: |
| |
| {literal}<pre> |
| buck quickstart |
| </pre>{/literal} |
| |
| You will get prompted for the directory where you would like to create the project, |
| as well as the location of your Android SDK. Assuming you would like to create the |
| project in the current directory and your Android SDK is installed |
| at <code>~/android-sdk-macosx</code>, then you would respond to the prompts as follows: |
| |
| <pre> |
| Enter the directory where you would like to create the project: .<br> |
| Enter your Android SDK's location: ~/android-sdk-macosx |
| </pre> |
| |
| Alternatively, you could specify these arguments via flags to avoid the prompts: |
| |
| <pre> |
| buck quickstart --dest-dir . --android-sdk ~/android-sdk-macosx |
| </pre> |
| |
| If the command succeeds, then you should see the following output: |
| |
| {literal}<pre style="font-size:80%"> |
| Thanks for installing Buck! |
| |
| In this quickstart project, the file apps/myapp/BUCK defines the build rules. |
| |
| At this point, you should move into the project directory and try running: |
| |
| buck build //apps/myapp:app |
| |
| or: |
| |
| buck build app |
| |
| See .buckconfig for a full list of aliases. |
| |
| If you have an Android device connected to your computer, you can also try: |
| |
| buck install app |
| |
| This information is located in the file README.md if you need to access it |
| later. |
| </pre>{/literal} |
| |
| <h2>Step 3: Build and Install Your App</h2> |
| |
| As explained in the instructions that were printed to the console, you can |
| run the following to build your application: |
| |
| <pre>buck build app</pre> |
| |
| Or if you have an Android emulator running or a device connected via a |
| USB cable (you can verify this by running <code>adb devices</code>), |
| then you can install and start up the app by running: |
| |
| <pre>buck install app</pre> |
| |
| The name <code>app</code> is an alias for the <a href="{ROOT}concept/build_target.html">build |
| target</a> that identifies the <a href="{ROOT}concept/build_rule.html">build |
| rule</a> that is responsible for building your app. You can change this mapping in the{sp} |
| <a href="{ROOT}concept/buckconfig.html"><code>.buckconfig</code></a> file that was created in |
| the root of your project directory. |
| |
| <h2>Step 4: Modifying the App</h2> |
| |
| Now that you know how to run Buck to build an APK, you are probably interested in modifying |
| the boilerplate code to build the app of your dreams. Java code goes under the <code>java/</code> directory, |
| and it is recommended that the directory structure match the package structure, as is the convention in Java. |
| |
| <p> |
| |
| By comparision, Android resources should go under the <code>res/</code> directory. Just as you can have |
| multiple Java packages in the <code>java/</code> directory, you are encouraged to declare |
| multiple {call buck.android_resource /} rules under the <code>res/</code> directory. This makes it easier |
| to create a mapping between directories of Android resources and the Java code that requires them. |
| |
| <p> |
| |
| Now you should have everything that you need to get started! You will likely want to come back to |
| start exploring more of Buck's documentation as your app becomes more complex and you want to leverage |
| more of the sophisticated features of Buck. |
| |
| <p> |
| |
| <em>Currently, the IntelliJ project generated by running {call buck.cmd_project /} does not import |
| cleanly into IntelliJ. We are working to get <a href="http://stackoverflow.com/questions/19326675/how-do-i-fix-or-debug-error-android-packager-app-cannot-create-new-key-or-k"> |
| answers to our questions</a> to help debug this. |
| |
| </div> // close overview |
| |
| {call buck.footer /} |
| |
| {/template} |