FLAVOR:从Android Studio运行失败 - 从设备运行

时间:2016-07-27 15:38:50

标签: android android-studio android-manifest build.gradle android-flavors

我正在尝试以不同的口味使用相同的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();
    }
}

现在...
通过按A.S.运行的每种风味(使用其build variant)。 “绿色播放按钮”这些事情发生了:
1。构建+编译成功结束 Run视图标签上的 2。我收到此消息:

    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。按下刚安装的图标(=从设备运行) - 一切正常,应用程序按照要求行事 - 每个安装都有自己的风格。

这对于调试和流畅的开发来说很糟糕...
我该怎么做才能通过A.S ??

运行每种风味的变种

谢谢:)

1 个答案:

答案 0 :(得分:0)

每件事看起来都很好。看不到您的日志默认活动也无法加载,这意味着您忘记将Intent-Filter添加到您在Android Manifest.xml中注册的第一个活动。

         <activity
            android:name=".YourFirstActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.Main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>