2015-07-20 82 views
6

我嘗試使用以下gradle這個命令與風味APK上傳:gradle這個命令:crashlyticsUploadDistributionRelease風味

./gradlew assembleDevRelease crashlyticsUploadDistributionDevRelease

然而,它與下面的異常日誌失敗:

Caused by: com.crashlytics.tools.android.exception.DistributionException: Crashlytics halted compilation because it had a problem uploading the distribution.Project dev is inactive 
    at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:91) 
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:583) 
    ... 58 more 

它好像我的Fabric帳戶上沒有包名匹配,但是當我執行以下命令時,它發現它:

./gradlew tasks --all app:crashlyticsUploadDistributionDevRelease - Uploads an APK to Crashlytics for distribution.

爲什麼我無法分發我的應用程序?

build.gradle文件:

productFlavors { 
    dev { 
     applicationId "mypackagename.dev" 
    } 
    alpha { 
     applicationId "mypackagename.alpha" 
    } 
    beta { 
     applicationId "mypackagename.beta" 
    } 
    product { 
     applicationId "mypackagename" 
    } 

回答

16

如果您看到此錯誤:

Project is inactive.

這意味着你的項目還沒有在織物後端被完全激活。建立你的應用程序後,一定要運行應用程序,這將完成激活,以便你可以分發你的應用程序。

+0

是的,因爲我無法手動在Crashlytics上創建一個新項目,所以我必須在AS中創建一個「NEW PROJECT」,導入結構庫並在Manifest中設置與「flavor」相同的包名,上傳這個新的項目到結構,那麼「風味」的包名將被激活。但是我認爲當我使用「flavor」上傳時,結構可能知道它是一個新項目(因爲packagenmae不同),所以自動在Crashlytics上創建一個新項目。 – user3814793

+0

感謝這些細節,將在內部共享它們,但是對於每個不同的包名,需要在分發應用程序之前構建和運行這些味道/項目。 –