3

我试图在不同的风格中使用相同的activity名称,并为每种风格安装正确的名称。FLAVOR:从Android Studio运行失败 - 从设备作品运行

的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(); 
    } 
} 

现在...
对于我运行的每种口味(使用它的build variant)按A.S. “绿色播放按钮”这些事情发生:
1. build + compile成功结束。
2. 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.当按下刚刚安装的图标(=从设备运行) - 一切正常和应用程序的行为就像要求 - 与它自己的味道每个安装。

这对于调试和流畅的开发来说很糟糕...
我应该怎么做才能使每种口味的变体都通过A.S?

谢谢:)

回答

0

好吧,这个问题很容易解决。
以运行于Android工作室每种味道直接我不得不宣布Specified Activity运行 - >编辑配置 - >需要你想直接从Android Studio中运行每味Android应用程序
此解决方案。

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> 
+0

我已经在清单上有这些行,我现在将它们添加。 有什么新建议? – RedHat

相关问题