2016-09-22 763 views
5

我是Gradle上的默認配置。Android - 該軟件包與現有軟件包的名稱衝突

defaultConfig { 
    applicationId "com.my.application" 
    minSdkVersion 16 
    targetSdkVersion 22 
    versionCode 190011 
    versionName "2.2.1" 
} 

而那些口味

productFlavors { 
    dev { 
     applicationIdSuffix ".dev" 
     versionCode 333333 
     buildConfigField "String", "ANVIL_BASE_URL", "DEBUG_URL" 
     resValue "string", "app_name", "app name dev" 
     signingConfig signingConfigs.releasesign 
    } 
    prod { 
     buildConfigField "String", "ANVIL_BASE_URL", "PROD_URL" 
     resValue "string", "app_name", "app name" 
     signingConfig signingConfigs.releasesign 
    } 
} 

從來就上了Play商店發佈了默認的應用程序ID「com.my.application」,但是當應用程序從來就Play商店安裝的版本並想要安裝「開發」風味的應用程序它彈出消息說:

app name dev 
App not installed 
The package conflicts with an existing package by the same name 

我做錯了什麼?我試過改變開發的buildCode,但那也沒用。

任何的猜測?

在此先感謝。

回答

4

好,同時要安裝通過命令行應用程序的修改版本,我發現了以下錯誤:

adb install ~/Desktop/app-dev-release.apk 
Failed to install /Users/axier/Desktop/app-dev-release.apk: Failure [INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.my.application.dev attempting to redeclare permission com.my.application.permission.C2D_MESSAGE already owned by com.my.application] 

所以從來就修改了我的AndroidManifest.xml文件是這樣的:

<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> 

這個很差的錯誤描述。希望解決方案能夠爲將來的像我這樣的人工作。

無論如何。

0

您已經在手機上安裝了具有相同軟件包名稱的應用程序。請在安裝此應用程序之前重新安裝int。

+1

That's不是這樣的,第一個崩潰之前,我有我的設備上同時安裝這兩個應用程序和執行別名包='亞殼‘‘「‘當下午列表包-f’」’’| sed -e'''''s /.*=//'「'」'|排序'他們顯示不同的包。 – axierjhtjz