Could someone help install a working android development environment?

Argh. Discourse ate my angle brackets. Here are the paths again:

So the SDK would be something like:
C:\Users\yourusername\AppData\Local\Android\sdk
And the NDK would be
C:\Users\yourusername\AppData\Local\Android\sdk\ndk-bundle

oh it just never ends.
I changed all the ndk/sdk paths in android studio and wanted to run blurrrgenproj.exe
again, but now that’s not even starting. I right clicked it and selected run as admin and a message popped up : windows can’t find tools\blurrgenproj.exe
I even re-extracted the whole blurrr folder , same result.

You do not need to run BlurrrGenProj as Admin. And you shouldn’t for
your own safety. (In general, you shouldn’t run things as Admin on
Windows. It’s just a security nightmare waiting to happen.)

In fact, I think that’s why you are getting the error. Just double
click the BlurrrGenProj.exe normally, and I expect it will run as
before.

-Eric

it happens when I double click blurrGenproj as well, it doesn’t work anymore all of a sudden?
and let me add , I first just double clicked , it didn’t work and then did I try run as admin.

thanks :slight_smile:

Do you get the same error message you described when you just double
click it or does it do something else?

Here are 3 other things you can try:

  1. Reboot your machine

  2. In C:\Users\yourusername, there is a preference file called BlurrrGenProj.cfg
    Delete this file which will reset BlurrrGenProj to as if it has never
    been run before.

  3. In the Blurrr SDK, there is a directory called “Tools”. Go into
    that directory and you will find another BlurrrGenProj.exe there. Try
    double clicking that one instead. (The one in the root folder is
    actually a Windows shortcut to this one.)

If #3 works, but you still can’t launch normally from the one in the
root folder, do me a favor and try testing to see if your Command
Prompt still works, because you are making me think something may have
broken your command prompt on your system if that Shortcut isn’t
working.

  • Press Win-R to bring up the Run popup dialog.
  • Type “cmd” (without the quotes)
  • Press OK

A Windows command prompt should appear. (If not, something is broken.)
And since we’re here, since you should have installed Strawberry Perl
by now, you can type:
perl --version

and you should get some version info about it which proves you’ve installed it.

-Eric

Eric : I still can’t get some project to open in android in blurrr?
I also made sure the ndk folder contains ndk-build and a toolchains folder.

I have set the blurrr preferences ndk path to
c:user\me\downloads\ndk
and sdk:
c:user\me\downloads\ndk\sdk-bundle\

and in android project , under file , project structure:
ndk path
c:user\me\downloads\ndk
sdk
c:user\me\downloads\ndk\sdk-bundle

I have installed strawberry perl etc. , rebooted , I can’t open a project in android.
the 'open project ’ option and checkbox is greyed out , and when I press generate nothing happens.

Thanks :slight_smile:

I think you are close. So let’s recap:

  1. You set the Blurrr paths in Preferences:
    SDK: C:\Users\me\downloads\ndk\sdk-bundle\

The SDK should contain directories like “platforms” and “platform-tools”.
Also, a green checkmark should appear next to the the SDK path in
Blurrr if you picked a valid path.

NDK: C:\Users\me\downloads\ndk
The NDK directory contains “ndk-build.cmd” and “toolchain”.
The green checkmark is broken for this thanks to a recent Android
change, so you may see a warning badge still.

  1. You don’t actually need to change anything in Android’s Project
    Structure. I mentioned this only as a way to find out where the paths
    are. If you create a new project in Android Studio (not Blurrr), and
    go to Project Structure, it shows you where you configured Android
    Studio to put things.

  2. The Blurrr “Open Project” is expected to be grayed out. Because
    Android Studio can be put anywhere on your computer and because
    Android Studio doesn’t have a real file format (it’s just a directory
    containing generic text files), I can’t automatically open your
    project for you. (I normally would do the equivalent of
    double-clicking the file in Explorer for you, but you will see that
    Android projects provide nothing to double-click.)

  3. So hit Blurrr’s “Generate” button. It should take a second and you
    may see a progress bar for that second and then disappear again. If
    everything worked, Blurrr remains quiet. (As another sign it worked,
    the “Purge” button will become enabled, but don’t press this now.)

  4. So you now need to switch to Android Studio and use its Open
    Existing Project (not the Blurrr one). It will be inside the
    BUILD\Android directory of your SDL project, e.g.
    C:\TEMP\MySDLProject\BUILD\Android

Use Android Studio’s open file dialog to open that directory. (It
should show you a green circular Android icon for any Android project
directory.)

And that should open the Android project in Android Studio.

Please be detailed and tell me any differences you see in the above
steps if you continue to have problems so I can tell what’s going on.

-Eric

Once more , it’s off course still not working. Thanks Actsl , but you don’t have to bother with NDK build anymore , Blurrr does sound much easier , just setting it all up is a pain.

These are the exact steps I took :

I downloaded visual studio with NDK, visual studio 2015 with C++ , and set blurrr preferences to the same
NDK and SDK paths as are in Android studio project structure. I also installed strawberry perl.

  1. click BlurrrGenProj , select new project .
    give a project name
    template type : default sdl
    language c
    set a project directory path
    click create project.
    project type : c
    platform : windows visual studio 2015
    click generate.

  2. visual studio opens with the new project.
    right-click MyBlurrrProject set as startup project.
    click the green arrow : local windows debugger.
    pop up : would you like to build : yes.
    smiling dancing faces appear on window.

  3. I set the exact same paths for Blurrr preferences:
    android SDK:
    c:\user\me\downloads\sdk\lib
    NDK:
    c:\user\me\downloads\sdk\lib\ndk-bundle\

    and the paths in Android studio project structure are:
     android SDK:
         c:\user\me\downloads\sdk\lib
     NDK:
         c:\user\me\downloads\sdk\lib\ndk-bundle
    
  4. select BlurrrGenProj open the existing project I generated in step 1.
    Project type: c
    platform : android
    click generate.

  5. Open Android Studio , open project.
    go to same folder as selected in step 1: project directory path.
    go to BUILD / Android (there is no green circle)
    select android, it opens some blank new project . So it doesnt work ?

Thanks Eric :slight_smile:

I think you had it.

I think either you had it and didn’t realize it, or you opened up the
wrong directory (e.g. You opened up MySDLProject or MySDLProject/BUILD
instead of MySDLProject/BUILD/Android because you said you didn’t see
the green Android Studio icon).

I just uploaded a video for you that goes step-by-step so you can
visually see everything, including what the SDK and NDK directories
look like, and the little green circle Android icon I mentioned, and
how to find the menu options to build and run in Android Studio once
you are there.

-Eric

Nevermind, I thought I installed Strawberry perl , really certain I did , but for some reason I don’t see it in the C drive ?
I’m redoing that see if it makes a difference :slight_smile:

To test to see if you installed Strawberry Perl, open a command line prompt (Winkey-R, then type cmd and hit OK). In the command line window, type:
perl --version
and you should get some version info.

If you are still having problems, here are more things you can check:

  • The very first time you open an Android Studio project that has features it hasn’t used before, Android Studio automatically downloads components without asking you. (And Blurrr projects trigger this.) This can sometimes be slow. You may have successfully opened the project, but it was downloading. Check the Gradle Console to see what it is doing and/or wait a few minutes to see if the Build and Run menu options finally appear.

  • At this stage, you shouldn’t need to delete the BlurrrGenProj.cfg. In fact, even if BlurrrGenProj is misconfigured with the wrong SDK/NDK paths, you should still get an Android studio project, it just won’t build correctly.

  • Try using the Purge button and then click Generate. Purge deletes the (previously) generated project and allows you to start over.

  • In Android Studio (not Blurrr), verify the components you installed. In the Android Studio welcome/main screen, there is a drop-down menu item on the bottom right labeled Configure. Pick the first item, SDK Manager.

The go to SDK Tools and see if you have all the same components installed as in this picture.

  • In Android Studio (not Blurrr), try creating a New Project. Walk through their wizard and pick all the defaults. See if you can build/run their app. Then close the project. Then try Android Studio’s Open Existing Project and open the project you just made. See if you can see the Green Circle Icon. (If you do, try opening your SDL project again to see if you can see the Green Circle icon.)

  • Assuming things still aren’t working, can you upload a YouTube recording of the steps you are doing (like the video I made). Or send some screenshots of all the steps. (Like for example, I want to see why the Green Circle icon is missing.)

  • You could also zip up your test SDL project with the generated Android project inside and upload it somewhere I can try to look at it to see if anything is fishy. But maybe we can wait on this one a bit longer because I think the problem has more to do with Android Studio itself than the project. (I would expect a Build Failure if there was a problem here, not nothing at all which seems to be your problem.)

Oh sorry it works now, it worked after reinstalling Strawberry. I should have posted an update . So sorry, that was a lot of unnecessary work for you .

Now I tried to build my app and it needs some dll files:
tiff. dll
cryptbase.dll
uxtheme.dll
clbcatq.dll
mmdevapi.dll
propsys.dll
setupapi.dll
cfgmgr32.dll
devobj.dll
dsound.dll
powrprof.dll
audioses.dll
dwmapi.dll

i get teh errors: cannot find or open PDB file.
also, should I add all my resource folders and file to the resource folder in my blurr directory ? And would that work with my current code or do I need to change the paths ? I know you already added porting to blurr path changes .

Thanks :slight_smile:

I’m relieved to hear it’s working.

So your DLL question brings us back to Windows. DLLs are Windows things, not Android things.

The short answer is you don’t need to do anything for those DLL files. Blurrr already supplies and handles the DLLs you need.

You should start with my Github version of your project that was already migrated to Blurrr. It will work on both Android and Windows, and all the other Blurrr platforms like Mac, iOS, SteamOS/Linux, and Raspberry Pi. You should be able to (in Blurrr), Open the Existing Project, and generate a Visual Studio project.

Look at the left side tree panel in Visual Studio. Currently ALL_BUILD
is the bold faced target. But look for one underneath called
MyBlurrrProject. Right-click it and in the contextual menu, select
"Set as StartUp Project".

Now you can git the Green “play” triangle in the center of the Visual
Studio toolbar to build and launch.

Blurrr automatically manages the DLL environment so you can develop and run it.

When you want to ship your program binaries to another computer, Blurrr also provides an INSTALL and PACKAGE feature to also do the right thing for you.

Again, look at the left side tree panel in Visual Studio. This time find the INSTALL and PACKAGE targets. Right-click to bring up the contextual menu on one of them. Select Build.

When you Build the INSTALL target, it creates a directory inside your MyBlurrrProject/BUILD/WinVS2015 directory called INSTALL. Inside there, you will find a folder containing all the binaries you need to ship your project. You can double click the MyBlurrrProject.exe to run it right there. All the DLLs you need are already self-contained in that folder. All you have to do is zip up that folder and ship it to people. They can unzip it and run the .exe and everything will just work.

When you Build the PACKAGE target, creates a .msi installer in your MyBlurrrProject/BUILD/WinVS2015 directory. This is basically the same as the above folder that you can zip up, but goes through the standard Microsoft installer system instead. Again, everything is self-contained and all the DLLs you need are bundled with it.

So how exactly do I open these gibhub files with blurrr ?

I’m a bit confused about using these programs still . When I tried to change default visual studio project and add source and header files it didn’t work. I just added the source and header files within VS and saved. Then when I tried to open the same project later with VS the source folder was empty?

Also should I add the resources to the resource folder in my blurrr directory or in assets in Android studio ?

Also, I’m confused why you deleted the initialize function from the base class , is it not possible with inheritance ?

Thank you so much, you’ve been very helpful :slight_smile:

git clone or simply download the files from GitHub. Once on your computer, it should just be a collection of files in a directory, just like the MySDLProject you were creating.

Before you change anything in that project, please just build and run the project with Blurrr to make sure we’re on the same page. Use Open Existing Project in Blurrr and Generate the Visual Studio project. Build and run it as I described earlier.

Once everything is working, then we can start looking at changes.
To add files, you must edit the CMakeBlurrrUserFiles.cmake in the root of the project directory. At the top, you will see a huge list making up all the resource files your project uses. Towards the bottom, you will find the source code files listed. Follow the pattern and add resource and source files just like you see.

All the resource files go in the same place, “resources” in the Blurrr project, for all platforms. I’ve already done this for you in the Git project and it will work correctly for all platforms. Just keep following the pattern and everything will work. Blurrr has a bunch of internal logic in the build process to do the right thing for every different platform.

I deleted the initialize function because it was never run by anything as far as I could tell and it was confusing me. I kept making changes to it and nothing ever happened. Removing it allowed me to focus on the initialize that actually did something.

Eric,

Just a quick question. I can run my code in VS and it seems to work fine now , except I get some warnings that I want to fix. Where do I find this list of warnings after I close my app window ?

Thanks.

The “Output” window in Visual Studio has a dropdown listbox titled
"Show output from:".
Selecting “Build” will show you the compile warnings.
Selecting “Debug” will show you the runtime messages.

-Eric

Thanks Eric , you’ve been so helpful :slight_smile:
I get some strange debugging errors:

sdl2.pdb not loaded, sdl2.pdb contains debug information required to find the   source for module sdl2.dll      //this throws some exception and only happens sometimes. I also get a bunch of warnings in my code when this happens, and only then.

the debuggers worker process (msvsmon.exe) unexpectedly exited.
  debugging will be aborted.  //happened once.

any clues what these are about . The code seems to run fine for the rest.
Thanks.

Don’t worry about the .pdb message. .pdb files contain debugging
information for a .dll. I only ship the release version of the
sdl2.dll without debugging information (because they are bloated). VS
is just telling you that it didn’t load the .pdb for SDL.

I don’t know about the exception problem. The exact error message, and
reproducing it would go a long way to help understanding it. My
initial guess is you might have a bug in your code which is sometimes
corrupting things and manifesting itself as this. SDL is pretty
established/tested, so I doubt it is due to a bug with SDL itself. But
this is only a complete guess. I would need a lot more info.

The msvsmon.exe message is that the Visual Studio debugger crashed. I
would say this is just a Visual Studio bug and you can ignore it. Just
relaunch and try again.

-Eric

I tried to get the first exception again but it did not happen no matter what I tried ?

I did notice that memory is maybe taking up too much? I think it was first pretty steady , with a few peaks, and no more then 2 GB, but then when I tried to crash it purposely by clicking every button and going back and forth between the screens , it went up to 4 GB and crashed , that’s when I got the msvsmon.exe message ?

Edit: msvsmon.exe keeps crashing every time, so I looked online & found this :

will try it & see what happens :slight_smile:

but i’d still like to know if my program show memory leaks ? I think I take care of it when freeing the surfaces in loadTextures()?
Though I should still delete the vectors in the deconstructor.
What else can I do to improve memory usage ?

Thanks!