Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

build.gradle 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. apply plugin: 'com.android.application'
  2. boolean googleServicesEnabled = project.file('google-services.json').exists()
  3. // Crashlytics integration is done as part of Firebase now, so it gets
  4. // automagically activated with google-services.json
  5. if (googleServicesEnabled) {
  6. apply plugin: 'io.fabric'
  7. }
  8. android {
  9. compileSdkVersion rootProject.ext.compileSdkVersion
  10. buildToolsVersion rootProject.ext.buildToolsVersion
  11. defaultConfig {
  12. applicationId 'org.jitsi.meet'
  13. versionCode Integer.parseInt(project.buildNumber)
  14. versionName project.appVersion
  15. minSdkVersion rootProject.ext.minSdkVersion
  16. targetSdkVersion rootProject.ext.targetSdkVersion
  17. ndk {
  18. abiFilters 'armeabi-v7a', 'x86'
  19. }
  20. packagingOptions {
  21. // The project react-native does not provide 64-bit binaries at the
  22. // time of this writing. Unfortunately, packaging any 64-bit
  23. // binaries into the .apk will crash the app at runtime on 64-bit
  24. // platforms.
  25. exclude '/lib/mips64/**'
  26. exclude '/lib/arm64-v8a/**'
  27. exclude '/lib/x86_64/**'
  28. }
  29. }
  30. buildTypes {
  31. debug {
  32. minifyEnabled true
  33. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.pro'
  34. buildConfigField "boolean", "GOOGLE_SERVICES_ENABLED", "${googleServicesEnabled}"
  35. }
  36. release {
  37. minifyEnabled true
  38. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-release.pro'
  39. buildConfigField "boolean", "GOOGLE_SERVICES_ENABLED", "${googleServicesEnabled}"
  40. }
  41. }
  42. compileOptions {
  43. sourceCompatibility JavaVersion.VERSION_1_8
  44. targetCompatibility JavaVersion.VERSION_1_8
  45. }
  46. }
  47. repositories {
  48. maven { url 'https://maven.fabric.io/public' }
  49. }
  50. dependencies {
  51. implementation fileTree(dir: 'libs', include: ['*.jar'])
  52. implementation "com.android.support:support-v4:${rootProject.ext.supportLibVersion}"
  53. implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
  54. implementation 'com.google.android.gms:play-services-auth:16.0.1'
  55. implementation project(':sdk')
  56. debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'
  57. releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
  58. // Glide
  59. implementation("com.github.bumptech.glide:glide:${rootProject.ext.glideVersion}") {
  60. exclude group: "com.android.support", module: "glide"
  61. }
  62. implementation("com.github.bumptech.glide:annotations:${rootProject.ext.glideVersion}") {
  63. exclude group: "com.android.support", module: "annotations"
  64. }
  65. annotationProcessor "com.github.bumptech.glide:compiler:${rootProject.ext.glideVersion}"
  66. // Firebase
  67. // - Crashlytics
  68. // - Dynamic Links
  69. implementation 'com.google.firebase:firebase-core:16.0.6'
  70. implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
  71. implementation 'com.google.firebase:firebase-dynamic-links:16.1.5'
  72. }
  73. gradle.projectsEvaluated {
  74. // Dropbox integration
  75. //
  76. def plistParser = new XmlSlurper(
  77. /* validating */ false,
  78. /* namespaceAware */ false,
  79. /* allowDocTypeDeclaration */ true)
  80. plistParser.setFeature(
  81. 'http://apache.org/xml/features/nonvalidating/load-external-dtd',
  82. false)
  83. def plist = plistParser.parse('../ios/app/src/Info.plist')
  84. def dropboxScheme = plist.dict.array.dict.array.string.find { string ->
  85. string.text().startsWith('db-')
  86. }
  87. def dropboxAppKey = dropboxScheme?.text() - 'db-'
  88. if (dropboxAppKey) {
  89. android.defaultConfig.resValue('string', 'dropbox_app_key', "${dropboxAppKey}")
  90. def dropboxActivity = """
  91. <activity
  92. android:configChanges="keyboard|orientation"
  93. android:launchMode="singleTask"
  94. android:name="com.dropbox.core.android.AuthActivity">
  95. <intent-filter>
  96. <action android:name="android.intent.action.VIEW" />
  97. <category android:name="android.intent.category.BROWSABLE" />
  98. <category android:name="android.intent.category.DEFAULT" />
  99. <data android:scheme="db-${dropboxAppKey}" />
  100. </intent-filter>
  101. </activity>""";
  102. android.applicationVariants.all { variant ->
  103. variant.outputs.each { output ->
  104. output.processManifest.doLast {
  105. def f = new File(manifestOutputDirectory, 'AndroidManifest.xml')
  106. if (!f.isFile()) {
  107. f = new File(new File(manifestOutputDirectory, output.dirName), 'AndroidManifest.xml')
  108. }
  109. if (f.exists()) {
  110. def charset = 'UTF-8'
  111. def s = f.getText(charset)
  112. s = s.replace('</application>', "${dropboxActivity}</application>")
  113. f.write(s, charset)
  114. }
  115. }
  116. }
  117. }
  118. }
  119. }
  120. if (googleServicesEnabled) {
  121. apply plugin: 'com.google.gms.google-services'
  122. }