FC2ブログ
06 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 08

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】3週間かかったビルドがようやく終盤になりましたのでご報告します。Admob+アドフリくん+NCMBのビルドについて。 

おはようございます。坂内っす。

ようやく3週間の長い戦いだったビルド戦、だいたい乗り切った感じです。

だいたい最終報告をさせて頂きます。

<環境>
Unity2017.4.30f1
- NCMB.4.0.0
- TapjoyUnityPlugin_v12.3.1
- GoogleMobileAds-v3.18.0
- adfurikunSDK_Unity_moviereward_3_0_1

この環境でのGradleビルドが全然できんかったのですよ。

やっとこさ、まともに動くところまでもってきました!
ただまだ、Tapjoyのウォールが出ないとか色々ありますが・・・・
これでとりあえず、以下の動作が確認できました。

・Admobがでる。バナー+インステ
・アドフリくんがでる。動画ネイティブ+動画リワード
・NCMBがつかえる。


最終的なPluginフォルダの中身はこちら。
【Plugins>Android】



※play-services-measurement-base-15.0.0 こいつだけバージョンが違くて気持ち悪いが、こいつ入れないと動画やバナータップ後にアプリに戻ると落ちるんだよね。

【Plugins>Android>lib】


【Plugins>Android>mainTemplate.gradle】

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
repositories {
google()
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}

allprojects {
repositories {
google()
jcenter()
maven {url "https://imobile-maio.github.io/maven" }
maven {url "http://fan-adn.github.io/nendSDK-Android-lib/library" }
flatDir {
dirs 'libs'
}
}
}

// Android Resolver Repos Start
([rootProject] + (rootProject.subprojects as List)).each { project ->
project.repositories {
def unityProjectPath = "file:///" + file(rootProject.projectDir.path + "/../../").absolutePath
maven {
url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
}
mavenLocal()
jcenter()
mavenCentral()
}
}
// Android Resolver Repos End
apply plugin: 'com.android.application'

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:multidex:1.0.1'
// Android Resolver Dependencies Start
implementation 'com.google.android.gms:play-services-ads:15.0.1' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7
// Android Resolver Dependencies End
implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
implementation 'com.applovin:applovin-sdk:8.1.4' // Applovin
implementation 'net.nend.android:nend-sdk:5.1.0' // Nend
implementation 'com.maio:android-sdk:1.1.9@aar' // Maio
implementation 'com.unity3d.ads:unity-ads:2.3.0' // UnityAds
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.3.31' // Kotlin
**DEPS**}

// Android Resolver Exclusions Start
android {
packagingOptions {
exclude ('/lib/armeabi/*' + '*')
exclude ('/lib/mips/*' + '*')
exclude ('/lib/mips64/*' + '*')
exclude ('/lib/x86/*' + '*')
exclude ('/lib/x86_64/*' + '*')
}
}
// Android Resolver Exclusions End
android {
compileSdkVersion **APIVERSION**
buildToolsVersion '**BUILDTOOLS**'

defaultConfig {
minSdkVersion **MINSDKVERSION**
targetSdkVersion **TARGETSDKVERSION**
applicationId '**APPLICATIONID**'
ndk {
abiFilters **ABIFILTERS**
}
versionCode **VERSIONCODE**
versionName '**VERSIONNAME**'
}

lintOptions {
abortOnError false
}

aaptOptions {
noCompress '.unity3d', '.ress', '.resource', '.obb'**STREAMING_ASSETS**
}

**SIGN**
buildTypes {
debug {
minifyEnabled **MINIFY_DEBUG**
useProguard **PROGUARD_DEBUG**
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
jniDebuggable true
}
release {
minifyEnabled **MINIFY_RELEASE**
useProguard **PROGUARD_RELEASE**
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
**SIGNCONFIG**
}
}
**PACKAGING_OPTIONS**
bundle {
language {
enableSplit = false
}
density {
enableSplit = false
}
abi {
enableSplit = true
}
}
}

configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.1'
}
}
}
}

**SOURCE_BUILD_SETUP**



【手順】①~④は順不同でもいいんじゃないかな?
①ニフクラ Import
②アドフリくん Import
③Admob Import
④タップジョイ Import

⑤いらないaar,jarを消す
⑥com.google.android.gmsのバージョンを合わせるために、「Assets>GoogleMobileAds>Editor>GoogleMobileAdsDependencies.xml」をいじる
<pre class="prettyprint"><code>
<dependencies>
<androidPackages>
<androidPackage spec="com.google.android.gms:play-services-ads:15.0.1">
<repositories>
<repository>https://maven.google.com/</repository>
</repositories>
</androidPackage>
</androidPackages>

<iosPods>
<iosPod name="Google-Mobile-Ads-SDK" version="~> 7.42.1">
<sources>
<source>https://github.com/CocoaPods/Specs</source>
</sources>
</iosPod>
</iosPods>
</dependencies>




⑦Resolverしてみる。


一応この時点でビルドは通るようになった。
今まで使ってたアドフリくんが古かったため、最新の3系ではそのままでは動画が出ないという問題があったが、コードいじって動くように。

あとは、本当にTapjoyのオファーウォールをどうするか。

動かないならいっそのこと消してしまおうか・・・・

いやー ほんと長い戦いだった・・・・ポケガ1,2の64ビット対応しようとして、Gradle初めて触ったのが行けなかったか・・・凄い時間がかかってしまった。

今後また各SDKのバージョンが変わると動かなくなりそうな予感しかしませんが、今のところこれで動いています。
64bit対応や、NCMBが古いと今後動かなくなる等で、最新のSDKにしてGradleビルドでハマった方がいたら参考になれば幸いです。

お手伝いしてくれた、アドフリくんに感謝m(_ _)m

では、あでゅ~ノシ
スポンサーサイト



Category: 開発日記(Unity)

tb 0 : cm 0