2016-09-22 20 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 
    } 
} 

がI'veアプリは、デフォルトのアプリケーションID「com.my.application」でPlayストアにリリースされましたが、I've Playストアのバージョンがインストールされた場合"dev"風味のアプリケーションをインストールしたい場合は、次のメッセージが表示されます。

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

私は間違っていますか?私はdevのbuildCodeを変更しようとしましたが、どちらもうまくいきませんでした。

ありがとうございます。

答えて

4

まあは、コマンドラインからアプリの修正版をインストールしようとしたときに、私は次のようなエラーが見つかりました:

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

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] 

だからI'veは、このように私のAndroidManifest.xmlファイルを修正しました

このエラーの説明はあまりよくありません。将来、私のような誰かのためにソリューションが動作することを願っています。

ありがとうございます。

0

the gradle documentation (ApplicationId versus PackageName)をご覧ください。また、あなたは実際にパッケージ名 "com.my.application"を持つプレイストアでバージョンをリリースしましたか?あなたの問題に対する私の提案は、applicationIdをproductFlavorsに入れることです。また、基本的にあなたの質問にも答えてthis stackoverflow answerを見てください。

0

携帯電話に同じパッケージ名でアプリケーションをインストールしました。インストールする前にintを再インストールしてください。

+1

最初のクラッシュの前に、デバイスに一緒にインストールされたアプリケーションと、別名パッケージ= 'adb shell'を実行したときの両方のアプリがありました。 '' 'pm list packages -f' "'"' | sed -e '"'" 's /.*=//' "'"' |彼らは別のパッケージを見せた。 – axierjhtjz

関連する問題