Android Native Application Project Type missing in Codeworks for Android 1R7

After a clean install of Codeworks for Android 1R7, I do not see all the Nsight Tegra project types in Visual Studio that were previously available using 1R6. These are the types I currently have:

1R7
Android Application
Android Native Static Library
Android Native Dynamic Library
Android Project (External Build System)

In addition to the above, 1R6 also had these, but they are missing from 1R7:
Android Application with Native Code
Android Hello World Demo
Android Native Application
Import an Android Project
Import an ndk-build Android Project

Should these be missing in 1R7? I’m specifically trying to start a new Android Native Application, and not sure the proper way to start this type of project with 1R7.

Hi MichaelBean,

Indeed, the project templates were updated in 1R7:
Android Hello World Demo was renamed to Android Application. It serves as an example of JNI interoperability.
The following templates were removed:
Android Application with Native Code
Android Native Application
Import an Android Project
Import an ndk-build Android Project

The [url]https://developer.android.com/ndk/reference/group___native_activity.html[/url]-based Android Native Application template was removed because it seems to be of little value for Android developers as the application that has no JVM bits (classes.dex et al.) might not integrate with Google Play Services and other important APIs.

Hello,

Not all applications are meant to be deployed on Google Play… For example, we have several internal native test applications which will never be deployed publicly. It is done so because they share a host of C/CPP code with other platforms. Am I understanding that Codeworks drops the support for fully native applications? That would be sad…

Hello Michael,

The changes is to reduce the quantity of the templates and to focus on the core patterns. Samples can be found on the web to produce native only applications though at this time as Nsight Tegra continues to evolve and improve its template customizations.

Some templates have also been simply combined being: “Android Application”, “Android Application with Native Code”, and “Android Hello World Demo”.

Importing Google SDK and NDK projects have been dropped since Google’s own SDK continue to evolve and “Android Project (External Build System)” (EBS) can be a more complete solution to invoke other build systems where the attempt to convert may not always be successful. In this case, by using EBS still allows you to edit files, invoke builds, and debug, even when created from other build systems.

Let me add a little more backstory to the fully native application. You can still build one yourself but we have found over time that users have found it difficult to make 100% purely nature applications and instead the most efficient and convenient pattern is what GameWorks suggests. This is going to be the best starting point for game rather than a fully from-scratch template. Instead of being 100% native instead they derive from the Java class NativeActivity. The Android runtime still had Java in your process anyways and was using NativeActivity to bridge to your native library. This way, you now have easy access to anything Java if you desire; whether that be anything in the android runtime that doesn’t have an NDK equivalent or Google Play Services.

Check that out at:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/extensions/src/NvAppBase
or more specifically
https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/extensions/src/NvAppBase/java/com/nvidia/NvAppBase/NvAppBase.java
And see how samples in that github location use NvAppBase.

thanks