2
私がgradle 3.0にアップグレードして以来、私たちのメインのApplication
のonCreateはプロダクションフレーバーアプリケーションから起動していません。しかし、ステージングの風味を構築するとき、アプリケーションのonCreateはちょうどいいと呼ばれます。アプリケーションのonCreateがプロダクションビルドのために呼び出されていない
アプリケーションのonCreateは呼び出されないので、Realm
にアクセスしようとすると、Realm
は初期化されず、アプリケーションがクラッシュします。
のAndroidManifest.xml:
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
....
App.kt:
class App : Application() {
override fun onCreate() {
super.onCreate()
Realm.init(this)
println("This is never called")
}
}
build.gradle:私たちの変更であれば
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'realm-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.github.triplet.play'
....
android {
flavorDimensions "testing"
productFlavors {
production {
dimension "testing"
applicationId "com.imerso.app"
}
staging {
dimension "testing"
applicationId "com.imerso.app.staging"
externalNativeBuild {
cmake {
targets 'cpp_scan_app', 'unittests'
}
}
}
}
compileSdkVersion 25
buildToolsVersion '26.0.2'
dexOptions {
// Sets the maximum number of DEX processes
// that can be started concurrently.
maxProcessCount 8
// Sets the maximum memory allocation pool size
// for the dex operation.
javaMaxHeapSize "2g"
....
わかりません3.0の勾配はここでの犯人ですが、e私がアップグレードを行うまで、非常にうまくいきました。
インスタント実行を無効にしようとしましたか? –
Yepp、即時実行が無効になっています。 –
あなたはAndroid Studioのどのバージョンを実行していますか? – anthonymonori