-
Notifications
You must be signed in to change notification settings - Fork 81
Open
Description
The new build system (the gradle stuff) is actually relatively nice (although it took me a whole day to figure out all of the details) and removes the need for the android tool.
I don't have time to update the examples right now and would also like to reduce some of the ridiculous boilerplate before that. I'll just document the most interesting ingredients here for later/others. I'll have more time in a couple of weeks.
It may be possible to shorten this a bit, but this is the conventional setup. The root (build) folder should contain these files for packing a .so into an apk with a native activity:
/build.gradle - top level build file (boilerplate)
/setting.gradle - this where the actual build file is includes (boilerplate)
/gradlew (boilerplate to make this work on independent of systems gradle version)
/gradle (boilerplate to make this work on independent of systems gradle version)
/app/build.gradle - actual build file
/app/src/main/AndroidManifest.xml
/app/src/main/jniLibs/armeabi-v7a/libexample.so - put the compiled go library here
/app/src/main/assets - put assets here
Running gradle(w) build will produce an apk.
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
/settings.gradle
include ':app'
/app/build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion = 24
buildToolsVersion = '25.0.0'
defaultConfig {
applicationId = 'com.example.native_activity'
minSdkVersion 24
targetSdkVersion 24
ndk {
abiFilters 'armeabi-v7a'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
jniDebuggable true
}
}
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels