NVIDIA's Tegra Android Development Pack (TADP) 4.0r1: OpenGL ES Lesson Crashes

OpenGL ES lessons 7 & 8 crash when compiled with TADP 4.0r1 installation and ‘Run Without Debugging’ in VS 2013 on NVidia Shield in Android 5.0.1. The source code for the lessons is available at:
https://github.com/learnopengles/Learn-OpenGLES-Tutorials

The lessons one through six work fine. The same source when compiled in Eclipse + Android SDK runs well.

Any ideas to fix this issue?

hi A++,
Could you provide some details about your crush to let us to help you.
what do you mean crash when complied? does you mean the VS crush ? or just compile failure. if just compile failure, could you show you build log?

victor

It is a runtime failure. The build completes successfully with default TADP installation.
The build log is attached.
1>------ Build started: Project: LearnOpenGLES, Configuration: Debug Tegra-Android ------
1> LearnOpenGLES.cpp
1> LearnOpenGLES.vcxproj -> C:\test\Tegra-Android\Debug\libLearnOpenGLES.so
1> Stripping C:\test\Tegra-Android\Debug\libLearnOpenGLES.so…
1> Building using the JDK located here: ‘C:\NVPACK\jdk1.7.0_71 (Native64Bit)’…
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\Tegra-Android\Nvidia.AndroidBuild.targets(183,5): warning : When using a 64-bit Java runtime incremental builds may not function correctly.
1> Executing "C:\NVPACK\apache-ant-1.8.2\bin\ant.bat debug -f C:\test\LearnOpenGLES\Tegra-Android\Debug\nsight_tegra_build.xml -listener org.apache.tools.ant.XmlLogger "
1> Buildfile: C:\test\LearnOpenGLES\Tegra-Android\Debug\nsight_tegra_build.xml
1>
1> -set-mode-check:
1>
1> -set-debug-files:
1>
1> -check-env:
1> [checkenv] Android SDK Tools Revision 24.0.2
1> [checkenv] Installed at C:\NVPACK\android-sdk-windows
1>
1> -setup:
1> [echo] Project Name: LearnOpenGLES
1> [gettype] Project Type: Application
1>
1> -set-debug-mode:
1>
1> -debug-obfuscation-check:
1>
1> -pre-build:
1>
1> -build-setup:
1> [getbuildtools] Using latest Build Tools: 21.1.2
1> [echo] Resolving Build Target for LearnOpenGLES…
1> [gettarget] Project Target: Android 5.0
1> [gettarget] API level: 21
1> [echo] ----------
1> [echo] Creating output directories if needed…
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\rsObj
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\rsLibs
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\gen
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\classes
1> [mkdir] Created dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\dexedLibs
1> [echo] ----------
1> [echo] Resolving Dependencies for LearnOpenGLES…
1> [dependency] Library dependencies:
1> [dependency] No Libraries
1> [dependency]
1> [dependency] ------------------
1> [echo] ----------
1> [echo] Building Libraries with ‘debug’…
1> [subant] No sub-builds to iterate on
1>
1> -code-gen:
1> [mergemanifest] Merging AndroidManifest files into one.
1> [mergemanifest] Manifest merger disabled. Using project manifest only.
1> [echo] Handling aidl files…
1> [aidl] No AIDL files to compile.
1> [echo] ----------
1> [echo] Handling RenderScript files…
1> [echo] ----------
1> [echo] Handling Resources…
1> [aapt] Generating resource IDs…
1> [echo] ----------
1> [echo] Handling BuildConfig class…
1> [buildconfig] Generating BuildConfig class.
1>
1> -pre-compile:
1>
1> -compile:
1> [javac] Compiling 45 source files to C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\classes
1> [javac] Note: Some input files use or override a deprecated API.
1> [javac] Note: Recompile with -Xlint:deprecation for details.
1>
1> -post-compile:
1>
1> -obfuscate:
1>
1> -dex:
1> [dex] input: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\classes
1> [dex] Converting compiled files and external libraries into C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\classes.dex…
1> [dx] Picked up _JAVA_OPTIONS: -Xms256m -Xmx512m
1>
1> -crunch:
1> [crunch] Crunching PNG Files in source dir: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res
1> [crunch] To destination dir: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_five.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_five.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_five.png: 39% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_four.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_four.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_four.png: 57% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_one.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_one.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_one.png: 0% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_seven.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_seven.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_seven.png: 68% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_six.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_six.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_six.png: 72% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_three.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_three.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_three.png: 0% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-hdpi\ic_lesson_two.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_two.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-hdpi\ic_lesson_two.png: 0% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-nodpi\noisy_grass_public_domain.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi

\noisy_grass_public_domain.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi\noisy_grass_public_domain.png: 0% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Lea
1> [crunch] rn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-nodpi\stone_wall_public_domain.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi\stone_wall_public_domain.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi\stone_wall_public_domain.png: 81% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-nodpi\usb_android.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi\usb_android.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-nodpi\usb_android.png: 80% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-xhdpi\ic_lesson_eight.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-xhdpi\ic_lesson_eight.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-xhdpi\ic_lesson_eight.png: 57% size of source)
1> [crunch] Processing image to cache: C:\Philips\UltraMobile\Git\Learn-OpenGLES-Tutorials\android\AndroidOpenGLESLessons\res\drawable-xhdpi\icon.png => C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-xhdpi\icon.png
1> [crunch] (processed image to cache entry C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\res\drawable-xhdpi\icon.png: 57% size of source)
1> [crunch] Crunched 12 PNG files to update cache
1>
1> -package-resources:
1> [aapt] Creating full resource package…
1> [aapt] Warning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/android); using existing value in manifest.
1>
1> -package:
1> [apkbuilder] Current build type is different than previous build: forced apkbuilder run.
1> [apkbuilder] Creating LearnOpenGLES-debug-unaligned.apk and signing it with a debug key…
1>
1> -post-package:
1>
1> -do-debug:
1> [zipalign] Running zip align on final apk…
1> [echo] Debug Package: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\LearnOpenGLES-debug.apk
1> [propertyfile] Creating new property file: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\build.prop
1> [propertyfile] Updating property file: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\build.prop
1> [propertyfile] Updating property file: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\build.prop
1> [propertyfile] Updating property file: C:\test\LearnOpenGLES\Tegra-Android\Debug\bin\build.prop
1>
1> -post-build:
1>
1> debug:
1>
1> BUILD SUCCESSFUL
1> Total time: 17 seconds
1> Picked up _JAVA_OPTIONS: -Xms256m -Xmx512m
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
logcat.txt (6.02 KB)

hi A++,

From your logcat, it was saying “couldn’t find libandroidg120.so”. Could you check libname in your java code? the name is case sensitive.

victor