billthefarmer / mididriver

Android midi driver using Sonivox EAS library
176 stars 52 forks source link

Gradle source tree, streamlined sonivox integration #7

Closed jhindin closed 9 years ago

jhindin commented 9 years ago

Hi

I've modified the mididriver in the following way:

  1. The source file tree has been rearranged to fit Android Studio/Gradle integration structure
  2. Linking with SoniVox library deferred to the launch time - in this way, there is no need to pull sonivox libraries from all potential platforms just to build the system

    Regards, Joseph Hindin

billthefarmer commented 9 years ago

I have looked at your changes. Dynamically loading the sonivox library is a good idea. However I can't get it to build. I don't use Android Studio or gradle, as I started developing for android some years ago, and the SDK tools and Ant work just fine. The build fails because of a missing required support library which isn't on the server where gradle is looking for it. Perhaps this is part of Android Studio, I have no idea, but shouldn't a gradle build work standalone?

gradlew
WARNING [Project: :mididriver] Current NDK support is deprecated.  Alternative will be provided in the future.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> A problem occurred configuring project ':mididriver'.
   > Could not resolve all dependencies for configuration ':mididriver:_debugCompile'.
      > Could not find com.android.support:appcompat-v7:22.1.1.
        Searched in the following locations:
            https://jcenter.bintray.com/com/android/support/appcompat-v7/22.1.1/appcompat-v7-22.1.1.pom
            https://jcenter.bintray.com/com/android/support/appcompat-v7/22.1.1/appcompat-v7-22.1.1.jar
        Required by:
             jhindin_mididriver:mididriver:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
jhindin commented 9 years ago

I don't use Android Studio or gradle, as I started developing for android some years ago, and the SDK tools and Ant work just fine.

They indeed works fine, but it seems to me that properly supporting both up-to-date IDE and command-line build using gradle would benefit the project. In the current state, the project can't be opened with the default IDE, the Android Studio.

The build fails because of a missing required support library which isn't on the server where gradle is looking for it.

The gradle build assumes that the support library is installed as a part of Android SDK installation.

I've managed to reproduce the problem in the following way:

  1. Install fresh Android SDK from https://developer.android.com/sdk/index.html#Other
  2. Run the platform-tools/android from the fresh installation, installed SDK v. 21
  3. Clone the repository
  4. Run the build using gradle

The build failed in a way you've described

Then I run platform-tools/android again and install compatibility library - the build passed.

Regards,
   Joseph Hindin
billthefarmer commented 9 years ago

Ok, I've got this to build. It was not obvious that I needed to install the support repository until I checked the docs. I had to add an empty source file to the jni folder to work around an apparent NDK bug. The resulting app is full screen with no action bar. I will merge this into a separate branch and include a reference to your fork.

Regards Bill Farmer

jhindin commented 9 years ago

The resulting app is full screen with no action bar

Yes, I've noticed the problem, will look into it.