activity
異なるフレーバーで同じ名前を持ち、各フレーバーに適した名前をインストールしようとしています。
build.gradle :
android {
....
buildscript {
productFlavors {
flavor1 {
applicationId "com.example.MyApp.flavor1"
}
flavor2 {
applicationId "com.example.MyApp.flavor2"
}
flavor3 {
applicationId "com.example.MyApp.flavor3"
}
}
}
}
AndroidMANifest.xml :
<activity
android:name="${applicationId}.LaunchActivity"
android:noHistory="false" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="*"
android:path="*"
android:scheme="@string/app_scheme_name" />
</intent-filter>
...
<\activity>
そして、すべてのflavorX.javaは次のようになります:
package com.example.MyApp.flavorX;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.example.MyApp.MainActivity;
public class LaunchActivity extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
String flavor = "~~~ flavorX ~~~~";
Log.i("flavor", flavor);
super.onCreate(savedInstanceState);
Toast.makeText(this, flavor,Toast.LENGTH_SHORT).show();
}
}
今... ASの「緑色の再生ボタン」を押して
実行するすべてのフレーバーについて、これらのことが起こります: 1.ビルド+コンパイルが正常に終了します。2.ビュー タブで、次のメッセージが表示されます。build variant
Run
Installing com.example.MyApp.flavorX
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.MyApp.flavorX"
pkg: /data/local/tmp/com.example.MyApp.flavorX
Success
Could not identify launch activity: Default Activity not found
3.アプリは正しいアイコンと名前でデバイスにインストールされています。
4.インストールされたばかりの (= デバイスから実行されている) アイコンを押すと、すべて問題なく、アプリは要求どおりに動作します。インストールごとに独自のフレーバーがあります。
これは、デバッグと流暢な開発にとってひどいことです...
AS を介して各フレーバーをそのバリアントで実行できるようにするにはどうすればよいですか??
ありがとう :)