2017-01-10 7 views
1

これはフォローアップの質問です。あなたはする必要はありませんが、read the first questionすることができます。シングルソースから作成したAPKをインストールする

これは私の問題です。私は1つのソースから2つのapkを作成しました。それから、Google Playストアにそれぞれ独立したアプリとして両方のAPKを公開しました。 1つのアプリの名前がCatで、1つの名前がDogです。今私は私のデバイスに猫をインストールすると、私は犬をインストールすることはできません、その逆のような問題を抱えています。なぜこれが起こっているのでしょうか? PlayStoreのエラーコードは `Error Code:-505 'です。

EDIT:回答への返信

私はサフィックスがそのの世話をするだろうと思いました。この問題にどう対処しても、2つのAPKに1つのソースコードを使用することはできますか?

productFlavors{ 
     training{ 
      applicationIdSuffix ".training" 
      versionNameSuffix "-training" 
     } 
     production{ 
//   applicationIdSuffix "" 
//   versionNameSuffix "" 
     } 
    } 

EDIT 2:.training味のために余分なマニフェストを追加

は、どこでこのflavorNameが正確を行くと、次のエラー

/Users/myname/StudioProjects/appname/app/src/training/AndroidManifest.xml Error: 
    Overlay manifest:package attribute declared at AndroidManifest.xml:2:11-50 value=(com.compname.appname.training) 
    has a different value=(com.compname.appname.training) declared in main manifest at AndroidManifest.xml:2:11-41 
    Suggestion: remove the overlay declaration at AndroidManifest.xml and place it in the build.gradle: 
     flavorName { 
      applicationId = "com.compname.appname.training" 
     } 

になりましたか?

+0

など、あなたのbuild.gradle

android.productFlavors { dog { applicationId "com.example.dog" } cat { applicationId "com.example.cat" } } 

今、あなたが行うことができ、

$ gradle assembleDogDebug 

または

$ gradle assembleCatDebug 

では重要であり、彼らは一意である必要があり、アンドロイドOSはpacを認識しましたケージ名、アプリ名ではありません:) – Roljhon

+0

私の編集内容を見てください。 –

+0

補足として、私はGoogle Playで同じパッケージ名を2回使用できないと考えましたか? Google Playではパッケージ名が異なります。一度接尾辞が付いていて1つは付きませんか?それは証明書ハッシュの問題でしょうか?私はgoogle-services.jsonファイルのcertificate_hashを意味しますか? –

答えて

0

これは、両方のAPKが同じパッケージ用であるために発生します。

1

パッケージ名

+0

ここで、私が端末を通って電話するとどうなりますか? 'gradle assembleTrainingDebug'と入力して端末から取得してください ' bash:gradle:コマンドが見つかりませんでした。 ' –

+0

あなたの通常起動するgradleに 'gradle'を置き換えてください。多分あなたはラッパーを使用しますか?多分あなたはWindows上にいるでしょうか? –

関連する問題