Projects


A new Android project can be created using the File > New > Project menu. Normal Visual C++ projects are created and set to use a custom Android platform. Projects can be set to build in the Visual Studio environment or using external build files.

Project Templates

Nine project templates are available in the Android category.

1. Android Application

This template creates a basic Android application that contains only Java sources. The project is created with one defined Activity.

2. Android Application with Native Library

This template creates a basic Android project that includes a Native library. The project includes both Java and native C sources. One Activity is defined and includes a native JNI method that is implemented in the C source.

3. Android Hello World Demo

This project builds a sample “Hello World” application. It includes both Java and native C sources. The Java sources make JNI calls to the C sources to obtain text that is displayed on the screen. This project will build in the Visual Studio environment.

4. Android Native Application Project

This template creates a native activity application. The project does not contain Java sources and uses the NativeActivity class, http://developer.android.com/reference/android/app/NativeActivity.html.

5. Android Project (External Build System)

This template creates a VC++ Makefile-like project to call external tools to build the Android project. This project allows debugging the built application as well as external APKs without the need to build them at all. It replaces the old "Debug Only" project type.

When you select this project type, you will be presented with the External Build System Project Wizard.

This allows you to set many of the options that you will later find on the Debugging Properties page.

Note that this template is not called Makefile like Microsoft’s project type, to avoid confusion with makefiles used in other Android project types which utilize the NDK. Please see standard Microsoft VC++ Makefile help for more details.

6. Dynamic Library for Android Application

This template creates a basic dynamic native library for use in the Android applications. This project may contain only C/C++ code.

7. Import Android Project

This template creates a Visual Studio project for an existing Android SDK and/or NDK project. The sources for the existing project are imported into the Visual Studio project. The template includes a wizard to specify the location of the existing project and what files should be imported into the Visual Studio project.

The configuration type for this project will be set to Make Application. It will build with ANT and the NDK tools ndk-build.cmd script.

8. Import Android Project and Create JNI Library

This template creates a Visual Studio project for an existing Android SDK project. It is used when you want to add native C sources to an existing Android Java project. It will add template JNI C source files and build a native library.

9. Static Library for Android Application

This template creates a basic static native library for use in the Android applications. This project may contain only C/C++ code.

Project Properties

Project properties can be accessed through the normal means of right-clicking on the desired project and selecting the Properties menu.

General Properties

This page contains the general properties for the project.

Debugging Properties

This page selects the debugger and options. The Android Debugger is used to debug the projects.

Deployment

This page allows you to edit the deploy options of the project.

Android Directories

This page allows you to edit the locations of the Android SDK, Android ANT, JDK, and Android NDK.

C/C++ Properties

This category contains pages for configuring C/C++ compiler options, such as additional include directories, or whether or not to generate debug info.

Using Precompiled Headers

Nsight Tegra supports the use of precompiled headers.

On the Precompiled Header tab, you can select whether to create or use a precompiled header during the build.

To use the precompiled header, first set Precompiled Header to Use on the project level, and create two files for the precompiled header: stdafx.h and stdafx.cpp. Names of the files without the extension must match the Precompiled Header File property. In stdafx.cpp add the only line:

#include "stdafx.h"

Include any headers you want to precompile in the stdafx.h.

Nsight Tegra forces inclusion of the precompiled header into every file that has the Precompiled Header property set to Use. However, it is better to include it manually; otherwise, the Visual Studio Intellisense might not work as expected. Note that precompiled header files are not passed to the linker/librarian.

It is also possible to print the included headers in the Output window. To configure this, set C/C++ > General > Echo Included Headers to Yes. This will make the compiler print the name of each header file used, indented with dots based on #include depth. If you are using GCC, precompiled headers will also be printed; invalid ones are printed with x and valid ones are printed with !. Clang does not print included precompiled headers at all.

On the Language tab, you can select the language standard that you want the compiler to use.

This property dictates which rules the GCC or Clang compiler will use when processing the files. This affects what grammar is correct, and what language features are supported and recognized.

Linker Properties

This category contains pages for linker options.

Ant Build Properties

This page contains options for the Android SDK ANT build.

NDK Build Properties

This page displays properties for projects that build with NDK-BUILD. It is only available when the configuration type is set to Make Application.

Installing Applications

There are two ways to install a project application on a device. The project can be set to automatically install and run applications after a successful build. This can be set in the project properties (see Ant Build Properties).

The project can also be launched using the Visual Studio Start Debugging button. This will install the application on the currently selected device and start a debug session.

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.211026 ©2014-2021. NVIDIA Corporation and affiliates. All Rights Reserved.