2017-10-31 10 views
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私がアップグレードを行うまで、非常にうまくいきました。

+0

インスタント実行を無効にしようとしましたか? –

+0

Yepp、即時実行が無効になっています。 –

+0

あなたはAndroid Studioのどのバージョンを実行していますか? – anthonymonori

答えて

0

この問題を解決するためにコンピュータを再起動する必要がありました。私は即座に、クリーン、再構築を無効にしようとしました。 Android Studioを再起動しました。アプリケーション名に完全パスを使用しました。私のMacBookを完全に再起動した後で作業を終了しました。