build.gradle 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY');
  2. def buildAsApplication = !buildAsLibrary
  3. if (buildAsApplication) {
  4. apply plugin: 'com.android.application'
  5. }
  6. else {
  7. apply plugin: 'com.android.library'
  8. }
  9. android {
  10. if (buildAsApplication) {
  11. namespace "org.libsdl.app"
  12. }
  13. compileSdkVersion 34
  14. defaultConfig {
  15. minSdkVersion 19
  16. targetSdkVersion 34
  17. versionCode 1
  18. versionName "1.0"
  19. externalNativeBuild {
  20. ndkBuild {
  21. arguments "APP_PLATFORM=android-19"
  22. // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
  23. abiFilters 'arm64-v8a'
  24. }
  25. cmake {
  26. arguments "-DANDROID_PLATFORM=android-19", "-DANDROID_STL=c++_static"
  27. // abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
  28. abiFilters 'arm64-v8a'
  29. }
  30. }
  31. }
  32. buildTypes {
  33. release {
  34. minifyEnabled false
  35. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  36. }
  37. }
  38. applicationVariants.all { variant ->
  39. tasks["merge${variant.name.capitalize()}Assets"]
  40. .dependsOn("externalNativeBuild${variant.name.capitalize()}")
  41. }
  42. if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) {
  43. sourceSets.main {
  44. jniLibs.srcDir 'libs'
  45. }
  46. externalNativeBuild {
  47. // ndkBuild {
  48. // path 'jni/Android.mk'
  49. // }
  50. cmake {
  51. path 'jni/CMakeLists.txt'
  52. }
  53. }
  54. }
  55. lint {
  56. abortOnError false
  57. }
  58. if (buildAsLibrary) {
  59. libraryVariants.all { variant ->
  60. variant.outputs.each { output ->
  61. def outputFile = output.outputFile
  62. if (outputFile != null && outputFile.name.endsWith(".aar")) {
  63. def fileName = "org.libsdl.app.aar";
  64. output.outputFile = new File(outputFile.parent, fileName);
  65. }
  66. }
  67. }
  68. }
  69. }
  70. dependencies {
  71. implementation fileTree(include: ['*.jar'], dir: 'libs')
  72. }