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

相關問題