Proper Android Studio Support?


#1

Hi guys,

I’ve been using Shinobi for a long while now, and really like it.  I really like it on iOS, where most of your focus seems to lie, but I dread using it a bit on Android, it really seems to be an afterthought sometimes. My major hurdle as of lately is from switching to Android Studio, and was wondering if there is going to be proper Android Studio support soon?  Building via gradle would be a great help.

As Eclipse ADT is no longer in development, and Android Studio has become googles offical IDE I think its about time to finally move over, or at least provide an offical means to do so.  The offical readme and installation guides still only make mention to Eclipse, and the link to your Android studio guide says that it is out of date, and provides a broken link.


#2

Hi AEB,

I quite agree and that’s why as we speak we’re updating the library so that we can distribute it as an .aar file!

We’re also taking the opportunity to make some internal changes that will allow us to take advantage of some of the features in the iOS version that we don’t currently support. As such it will be a little while longer before we release a new version but in the meantime the following link should take you to the current instructions for importing into Android Studio: https://www.shinobicontrols.com/blog/using-shinobicharts-with-android-studio-1-0

Kind regards,

Patrick


#3

The procedure is rather simple, once you get the hang of it.

  1. In the root of your main project create a folder called “libraries”, and in it create one called “shinobicharts”

  2. In “shinobicharts” create the following folders: “libs” and “jni-libs”

  3. Copy the library jar to “libs” and all the native libs, with their respective folders to “jni-libs”

  4. Copy the other source files (resources etc.) to the root of “shinobicharts”

  5. Create build.gradle in “shinobicharts” with the following content

    apply plugin: ‘com.android.library’

    android {
    compileSdkVersion
    buildToolsVersion

    defaultConfig {
    minSdkVersion 9
    targetSdkVersion
    }

     buildTypes {
         release {
             minifyEnabled false
    

    }
    }

     sourceSets {
         main {
             manifest.srcFile 'AndroidManifest.xml'
    

    java.srcDirs = [‘src’]
    resources.srcDirs = [‘src’]
    aidl.srcDirs = [‘src’]
    renderscript.srcDirs = [‘src’]
    res.srcDirs = [‘res’]
    jniLibs.srcDirs = [‘jni-libs’]
    }
    }
    }

    dependencies {
    compile fileTree(dir: ‘libs’, include: [’*.jar’])
    }

  6. In the root of your project create a “settings.gradle” file, with:

    include ‘:libraries:shinobicharts’

  7. In your root build.gradle add the lib as a dependency

    compile project(":libraries:shinobicharts")

Done. When the library updates, it’s now only a matter of replacing the source and jar/native files in its own directory.
I’ve been using the library this way for well over a year now, and it’s working without issues.