facebook twitter hatena line email

「Monaca/admob/admob-free/mediation/他」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(transformClassesWithDexBuilderForDebugエラーが出るとき)
 
(同じ利用者による、間の20版が非表示)
行6: 行6:
 
     <platform name="android">
 
     <platform name="android">
 
         <framework src="build-extras.gradle" custom="true" type="gradleReference"/>
 
         <framework src="build-extras.gradle" custom="true" type="gradleReference"/>
 +
        <framework src="androidx.appcompat:appcompat:1.1.0" />
 +
        <framework src="androidx.cardview:cardview:1.0.0" />
 +
        <framework src="androidx.constraintlayout:constraintlayout:1.1.3" />
 +
        <framework src="androidx.percentlayout:percentlayout:1.0.0" />
 +
 +
        <framework src="com.google.android.gms:play-services-basement:17.0.0" />
 +
        <framework src="com.google.android.gms:play-services-gcm:17.0.0" />
 +
        <framework src="com.google.android.gms:play-services-location:17.0.0" />
 +
        <framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />
 +
 
         <framework src="com.unity3d.ads:unity-ads:+" />
 
         <framework src="com.unity3d.ads:unity-ads:+" />
 
         <framework src="com.google.ads.mediation:unity:+" />
 
         <framework src="com.google.ads.mediation:unity:+" />
行13: 行23:
 
         <framework src="com.google.ads.mediation:nend:+" />
 
         <framework src="com.google.ads.mediation:nend:+" />
  
        <framework src="com.android.support:appcompat-v7:26.1.0" />
 
        <framework src="com.android.support.constraint:constraint-layout:1.1.3" />
 
        <framework src="com.google.android.gms:play-services-basement:15.0.1" />
 
        <framework src="com.google.android.gms:play-services-ads:15.0.1" />
 
        <framework src="com.google.android.gms:play-services-location:15.0.1" />
 
 
         <dependency id="cordova-plugin-enable-multidex" />
 
         <dependency id="cordova-plugin-enable-multidex" />
 
     </platform>
 
     </platform>
 
</pre>
 
</pre>
  
===以下エラーが発生する場合===
+
===以下play-services-basementのバージョン競合のエラーが発生する場合===
 
<pre>
 
<pre>
 
> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
 
> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
行35: 行40:
 
  <framework src="com.google.android.gms:play-services-basement:15.0.1" />
 
  <framework src="com.google.android.gms:play-services-basement:15.0.1" />
  
===以下エラーが発生する場合===
+
===以下facebookに絡むplay-services-basementのバージョン競合のエラーが発生する場合===
 +
<pre>
 +
> Could not resolve com.google.android.gms:play-services-basement:11.0.4.
 +
    Required by:
 +
        project :app > com.facebook.android:audience-network-sdk:5.9.0
 +
      > Cannot find a version of 'com.google.android.gms:play-services-basement' that satisfies the version constraints:
 +
          Dependency path 'android:app:unspecified' --> 'com.google.android.gms:play-services-basement:15.0.1'
 +
</pre>
 +
facebookのadがbasement:11.0.4を呼び出していて、versionが競合してるので、以下facebookを一旦削除する
 +
<pre>
 +
<!--
 +
<framework src="com.facebook.android:audience-network-sdk" />
 +
-->
 +
</pre>
 +
 
 +
===以下play-services-tasksのバージョン競合のエラーが発生する場合===
 +
<pre>
 
> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
 
> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
 
     > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
 
     > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
行42: 行63:
 
                         project :app > com.google.android.gms:play-services-location:15.0.1
 
                         project :app > com.google.android.gms:play-services-location:15.0.1
 
                       > Failed to list versions for com.google.android.gms:play-services-tasks.
 
                       > Failed to list versions for com.google.android.gms:play-services-tasks.
 +
</pre>
 
おそらくversionが競合してるので、以下のように、15.0.1にするとか
 
おそらくversionが競合してるので、以下のように、15.0.1にするとか
 
  <framework src="com.google.android.gms:play-services-tasks:15.0.1" />
 
  <framework src="com.google.android.gms:play-services-tasks:15.0.1" />
                     
 
  
 +
===以下gms:play-services-basementのバージョン競合が発生するとき===
 +
<pre>
 +
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
 +
  > Could not resolve com.google.android.gms:play-services-basement:[15.0.1,16.0.0).
 +
    Required by:
 +
        project :app > com.google.android.gms:play-services-gcm:15.0.1
 +
        project :app > com.google.android.gms:play-services-location:15.0.1
 +
        project :app > com.google.android.gms:play-services-iid:15.0.1
 +
        project :app > com.google.android.gms:play-services-places-placereport:15.0.1
 +
</pre>
 +
 +
もしplay-service系で例えば、1つでも17.0.0があれば、そちらに合わせてみる。
 +
 +
修正前
 +
<pre>
 +
<framework src="com.google.android.gms:play-services-gcm:15.0.1" />
 +
<framework src="com.google.android.gms:play-services-ads:15.0.1" />
 +
<framework src="com.google.android.gms:play-services-location:15.0.1" />
 +
<framework src="com.google.android.gms:play-services-tasks:15.0.1" />
 +
</pre>
 +
 +
修正後
 +
<pre>
 +
<framework src="com.google.android.gms:play-services-gcm:17.0.0" />
 +
<framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />
 +
<framework src="com.google.android.gms:play-services-tasks:17.0.0" />
 +
<framework src="com.google.android.gms:play-services-location:17.0.0" />
 +
</pre>
 +
 +
===play-services-adsは必須?===
 +
なくても再生できたのでいらないかも。
 +
<framework src="com.google.android.gms:play-services-ads:17.0.0" />
 
====maven設定方法====
 
====maven設定方法====
 
plugin.xml
 
plugin.xml
行62: 行115:
 
             jcenter()
 
             jcenter()
 
             maven {
 
             maven {
              url 'http://fan-adn.github.io/nendSDK-Android-lib/library'
+
                url 'http://fan-adn.github.io/nendSDK-Android-lib/library'
 
             }
 
             }
 
             maven {  
 
             maven {  
              url 'https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master/'  
+
                url 'https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master'  
 
             }
 
             }
 
             maven{
 
             maven{
行164: 行217:
 
<pre>
 
<pre>
 
         <framework src="androidx.appcompat:appcompat:1.1.0" />
 
         <framework src="androidx.appcompat:appcompat:1.1.0" />
        <framework src="androidx.cardview:cardview:1.0.0" />
 
 
         <framework src="androidx.constraintlayout:constraintlayout:1.1.3" />
 
         <framework src="androidx.constraintlayout:constraintlayout:1.1.3" />
 +
        <framework src="androidx.cardview:cardview:1.0.0" />
 
         <framework src="androidx.percentlayout:percentlayout:1.0.0" />
 
         <framework src="androidx.percentlayout:percentlayout:1.0.0" />
 
</pre>
 
</pre>
  
 
うーん・・。解決できず。
 
うーん・・。解決できず。
 +
結局、transformClassesWithDexBuilderForDebugの後のメッセージで判別するしないと、対応方法が変わってくるので、メッセージが、これだけだと無理かも。
 +
 +
===build-extras.gradleのgoogleについて===
 +
以下2つは同じ、切り替えても問題なかった。
 +
<pre>
 +
maven {
 +
    url "https://maven.google.com"
 +
}
 +
</pre>
 +
 +
google()
 +
 +
===Could not resolve com.google.android.gms:play-services-ads-identifier:16.0.0エラーが出るとき===
 +
<pre>
 +
Could not determine the dependencies of task ':app:preDebugBuild'.
 +
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
 +
  > Could not resolve com.google.android.gms:play-services-ads-identifier:16.0.0.
 +
    Required by:
 +
        project :app
 +
</pre>
 +
以下を追加
 +
<framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />
  
 
==iosの場合==
 
==iosの場合==
行182: 行257:
 
</platform>
 
</platform>
 
</pre>
 
</pre>
 +
表示はできてない・・

2020年7月8日 (水) 20:52時点における最新版

他色々のメディエーションを使いたい場合

androidの場合

androidでは以下をplugin.xmlに追加する

    <platform name="android">
        <framework src="build-extras.gradle" custom="true" type="gradleReference"/>
        <framework src="androidx.appcompat:appcompat:1.1.0" />
        <framework src="androidx.cardview:cardview:1.0.0" />
        <framework src="androidx.constraintlayout:constraintlayout:1.1.3" />
        <framework src="androidx.percentlayout:percentlayout:1.0.0" />

        <framework src="com.google.android.gms:play-services-basement:17.0.0" />
        <framework src="com.google.android.gms:play-services-gcm:17.0.0" />
        <framework src="com.google.android.gms:play-services-location:17.0.0" />
        <framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />

        <framework src="com.unity3d.ads:unity-ads:+" />
        <framework src="com.google.ads.mediation:unity:+" />
        <framework src="com.facebook.android:audience-network-sdk:+" />
        <framework src="com.google.ads.mediation:facebook:+" />
        <framework src="net.nend.android:nend-sdk:5.4.2" />
        <framework src="com.google.ads.mediation:nend:+" />

        <dependency id="cordova-plugin-enable-multidex" />
    </platform>

以下play-services-basementのバージョン競合のエラーが発生する場合

> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
    > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
        > Could not resolve com.google.android.gms:play-services-basement:[15.0.1,16.0.0).
            Required by:
                project :app > com.google.android.gms:play-services-location:15.0.1
                project :app > com.google.android.gms:play-services-places-placereport:15.0.1
             > Failed to list versions for com.google.android.gms:play-services-basement.

おそらくversionが競合してるので、以下のように、15.0.1にするとか

<framework src="com.google.android.gms:play-services-basement:15.0.1" />

以下facebookに絡むplay-services-basementのバージョン競合のエラーが発生する場合

> Could not resolve com.google.android.gms:play-services-basement:11.0.4.
     Required by:
         project :app > com.facebook.android:audience-network-sdk:5.9.0
      > Cannot find a version of 'com.google.android.gms:play-services-basement' that satisfies the version constraints: 
           Dependency path 'android:app:unspecified' --> 'com.google.android.gms:play-services-basement:15.0.1'

facebookのadがbasement:11.0.4を呼び出していて、versionが競合してるので、以下facebookを一旦削除する

<!--
 <framework src="com.facebook.android:audience-network-sdk" />
-->

以下play-services-tasksのバージョン競合のエラーが発生する場合

> Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
     > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
            > Could not resolve com.google.android.gms:play-services-tasks:[15.0.1,16.0.0).
                     Required by:
                         project :app > com.google.android.gms:play-services-location:15.0.1
                      > Failed to list versions for com.google.android.gms:play-services-tasks.

おそらくversionが競合してるので、以下のように、15.0.1にするとか

<framework src="com.google.android.gms:play-services-tasks:15.0.1" />

以下gms:play-services-basementのバージョン競合が発生するとき

> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
  > Could not resolve com.google.android.gms:play-services-basement:[15.0.1,16.0.0).
    Required by:
        project :app > com.google.android.gms:play-services-gcm:15.0.1
        project :app > com.google.android.gms:play-services-location:15.0.1
        project :app > com.google.android.gms:play-services-iid:15.0.1
        project :app > com.google.android.gms:play-services-places-placereport:15.0.1

もしplay-service系で例えば、1つでも17.0.0があれば、そちらに合わせてみる。

修正前

<framework src="com.google.android.gms:play-services-gcm:15.0.1" />
<framework src="com.google.android.gms:play-services-ads:15.0.1" />
<framework src="com.google.android.gms:play-services-location:15.0.1" />
<framework src="com.google.android.gms:play-services-tasks:15.0.1" />

修正後

<framework src="com.google.android.gms:play-services-gcm:17.0.0" />
<framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />
<framework src="com.google.android.gms:play-services-tasks:17.0.0" />
<framework src="com.google.android.gms:play-services-location:17.0.0" />

play-services-adsは必須?

なくても再生できたのでいらないかも。

<framework src="com.google.android.gms:play-services-ads:17.0.0" />

maven設定方法

plugin.xml

<platform name="android">
       <framework src="build-extras.gradle" custom="true" type="gradleReference"/>
</platform>

build-extras.gradle

ext.postBuildExtras = {
    allprojects {
        repositories {
            maven {
                url "https://maven.google.com"
            }
            jcenter()
            maven {
                url 'http://fan-adn.github.io/nendSDK-Android-lib/library'
            }
            maven { 
                url 'https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master' 
            }
            maven{
                url "https://imobile-maio.github.io/maven"
            }
            maven {
                url  "https://adcolony.bintray.com/AdColony"
            }
        }
    }
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v4:26.+'
        }
    }
}

以下Zucksエラーが起こるとき

Could not determine the dependencies of task ':app:preDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not find net.zucks:zucks-ad-network-sdk:4.6.1.

gradleに以下を追加

maven { 
  url 'https://github.com/zucks/ZucksAdNetworkSDK-Maven/raw/master/' 
}

以下maioエラーが起こるとき

Could not determine the dependencies of task ':app:preDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.maio:android-sdk:1.1.6.

gradleに以下を追加

maven{
    url "https://imobile-maio.github.io/maven"
}

basementの競合エラーのとき

       Could not determine the dependencies of task ':app:preDebugBuild'.
       > Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
          > Could not resolve com.google.android.gms:play-services-basement:[15.0.1,16.0.0).

plugin.xmlに以下のようにバージョンを15.0.1へ

<framework src="com.google.android.gms:play-services-basement:15.0.1" />

tasksの競合エラーのとき

> Could not resolve com.google.android.gms:play-services-tasks:[15.0.1,16.0.0).
            Required by:
                project :app > com.google.android.gms:play-services-location:15.0.1
             > Failed to list versions for com.google.android.gms:play-services-tasks.

plugin.xmlに以下のようにバージョンを15.0.1へ

<framework src="com.google.android.gms:play-services-tasks:15.0.1" />

transformClassesWithDexBuilderForDebugエラーが出るとき

以下エラーが出るとき

Task :app:transformClassesWithDexBuilderForDebug

androidxとandroid.supportとの競合的な( https://translate.google.com/translate?sl=en&tl=ja&u=https://github.com/flutter/flutter/issues/25271 ) 情報があったので、android.supportを切ってみる。

build-extras.gradle

    configurations.all {
        resolutionStrategy {
            // force 'com.android.support:support-v4:26.+'
        }
    }

後は、以下のようにandroid.supportをandroidxへ

修正前

        <framework src="com.android.support:appcompat-v7:26.1.0" />
        <framework src="com.android.support.constraint:constraint-layout:1.1.3" />

修正後

        <framework src="androidx.appcompat:appcompat:1.1.0" />
        <framework src="androidx.constraintlayout:constraintlayout:1.1.3" />
        <framework src="androidx.cardview:cardview:1.0.0" />
        <framework src="androidx.percentlayout:percentlayout:1.0.0" />

うーん・・。解決できず。 結局、transformClassesWithDexBuilderForDebugの後のメッセージで判別するしないと、対応方法が変わってくるので、メッセージが、これだけだと無理かも。

build-extras.gradleのgoogleについて

以下2つは同じ、切り替えても問題なかった。

maven {
    url "https://maven.google.com"
}
google()

Could not resolve com.google.android.gms:play-services-ads-identifier:16.0.0エラーが出るとき

Could not determine the dependencies of task ':app:preDebugBuild'.
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
   > Could not resolve com.google.android.gms:play-services-ads-identifier:16.0.0.
     Required by:
         project :app

以下を追加

<framework src="com.google.android.gms:play-services-ads-identifier:17.0.0" />

iosの場合

plugin.xmlに追加

<platform name="ios">
      <pods use-frameworks="true">
        <pod name="GoogleMobileAdsMediationUnity" spec="~> 3.1"/>
        <pod name="GoogleMobileAdsMediationFacebook" spec="~> 5.4" />
        <pod name="GoogleMobileAdsMediationNend" spec="~> 5.4.1.0" />
      </pods>
</platform>

表示はできてない・・