前提・実現したいこと
Android上でAdmob(Firebase)で動画リワード広告を使うアプリを開発しています。
native側での実装にopenFrameworksを利用しており
AdmobとopenFrameworksの両立をうまくgradleに書けず困っております
発生している問題・エラーメッセージ
下記にbuild.gradleを貼り付けます。
現状はこの設定でgradle自体のエラーは表示されない状態ですが、
Java側のコードで
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.AdRequest;
などのimportに失敗してしまうため、正しく設定できていないと考えます。
該当のソースコード
以下がbuild.gradleの内容です
def ofRoot() { return '../../../' } // Load common functions apply from: ofRoot() + "libs/openFrameworksCompiled/project/android/common-functions.gradle" buildscript { apply from: "../../../libs/openFrameworksCompiled/project/android/ndk-verify.gradle" repositories { jcenter() } dependencies { // Using the gradle-experimental version that supports c++ classpath 'com.android.tools.build:gradle-experimental:0.9.3' classpath 'com.google.gms:google-services:4.0.2' } } allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } } apply plugin: 'com.google.gms.google-services' apply plugin: 'com.android.model.application' model { android { // openFrameworks currently only supports compiling against SDK 19 compileSdkVersion = 25 buildToolsVersion = "25.0.3" defaultConfig.with { minSdkVersion.apiLevel = 19 targetSdkVersion.apiLevel = 25 versionCode = 1 versionName = "1.0" } } android.ndk { moduleName = ofAppModuleName() toolchain = buildToolchain() stl = compilerStl() platformVersion = "19" } android.sources { main { jni { source { srcDirs = appSrcDirs(ofRoot()) includes = srcIncludes(ofRoot()) excludes = srcExcludes(ofRoot()) } // Link to openFrameworks dependencies { project ":openFrameworksProject" linkage "static" } } manifest { source { srcDirs = ["."] } } res { source { srcDirs = ["res"] } } java { source { srcDirs = ["java"] } } aidl { source { srcDirs = ['java'] } } renderscript { source { srcDirs = ['java'] } } jniLibs { source { srcDirs = ['libs'] } } assets { source { srcDirs = ['bin/data'] + addonData(ofRoot()) } } } } android.lintOptions { abortOnError = false } android.buildTypes { release { minifyEnabled = false } } // Setup the different types of flavors (arm / x86), // and add linker flags based on that android.productFlavors { getAbis().each { abi -> create(getFlavorName(abi)) { ndk { abiFilters.add(abi) cppFlags.addAll(coreCppFlags(abi, ofRoot())) cppFlags.addAll(addonCppFlags(abi, ofRoot())) ldLibs.addAll(coreLdLibs(abi, ofRoot())) ldLibs.addAll(addonLdLibs(abi, ofRoot())) ldFlags.addAll(coreLdFlags(abi, ofRoot())) ldFlags.addAll(addonLdFlags(abi, ofRoot())) } } } } } dependencies { addonJavaDependencies(ofRoot()).each { dep -> compile(project(path: dep[1])) } compile project(path: ':ofAndroidLib') compile 'com.google.firebase:firebase-core:16.0.1' }
試したこと
gradleには
apply plugin: 'com.google.gms.google-services'
はbuild.gradleの一番下にすべしとwarningが出ますが
一番下にすると
apply plugin: 'com.android.model.application'
の行が
Could not get unknown property 'android' for task ':model' of type org.gradle.api.reporting.model.ModelReport.
と言われてgradle自体が失敗してしまいます
補足情報(FW/ツールのバージョンなど)
Android Studio 3.2.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。