Module作為App單獨(dú)運(yùn)行的步驟

Project中新建module是默認(rèn)為lib的李皇,現(xiàn)在要獨(dú)立運(yùn)行成App,就需要做一些更改允懂。

要點(diǎn)

  1. gradle中配置

    1.1 頂部應(yīng)用類型為app

    apply plugin: 'com.android.application
    

    1.2 設(shè)置包名剥啤,即applicationId

    defaultConfig {
        applicationId "com.xxx.xxx.net"
        ...
    }
    
  2. androidMenifest中配置

    2.1 配置application標(biāo)簽。包括icon减余、theme等

      <application
            android:name=".App"
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@drawable/ic_launcher"
            android:supportsRtl="true"
            android:theme="@style/AppTheme"
            tools:ignore="GoogleAppIndexingWarning">
        
          ...
        
        </application>
    

2.2 配置程序入口综苔,添加intent-filter

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

做到上面幾點(diǎn),就可以作為App運(yùn)行了位岔。

但是

我們既然組件化了如筛,當(dāng)然要做到可以隨時(shí)切換是否獨(dú)立運(yùn)行。
這樣抒抬,設(shè)置一個(gè)開關(guān)來控制杨刨,然后再來配置一下AndroidMenifest文件,就行了擦剑。

使用開關(guān)來配置Module是否獨(dú)立運(yùn)行

  1. 首先是設(shè)置是否組件化的開關(guān)妖胀,這個(gè)開關(guān)一般我們發(fā)在單獨(dú)的gradle配置文件或gradle.properties文件中

    1. 在confi.gradle中是這樣的。當(dāng)然你得在project的build.gradle中添加對(duì)config的引用惠勒。

      project的build.gradle添加

      apply from: "config.gradle"
      

      然后在config.gradle中添加

      ext {
          /** Net模塊是否作為App存在*/
          isNetApp = false
      }
      
    2. 在gradle.properties中設(shè)置赚抡,是這樣的

      #控制運(yùn)行哪個(gè)模塊(1:運(yùn)行app模塊 2:運(yùn)行net模塊)
      runModule=2
      
    3. 然后就是引用剛剛設(shè)置的變量

      if (rootProject.ext.isNetApp) {
          apply plugin: 'com.android.application'
      } else {
          apply plugin: 'com.android.library'
      }
      

      或者

      if (Integer.valueOf(runModule) == 1) {
          apply plugin: 'com.android.application'
      } else {
          apply plugin: 'com.android.library'
      }
      

      應(yīng)該都明白怎么用了。

  2. 開關(guān)設(shè)置好了纠屋,在要做切換的地方根據(jù)開關(guān)涂臣,來設(shè)置钧椰。主要在module的build.gradle中流炕。

    if (rootProject.ext.isNetApp) {
        apply plugin: 'com.android.application'
    } else {
        apply plugin: 'com.android.library'
    }
    ...
    android {
        ...
        defaultConfig {
    
            if (rootProject.ext.isNetApp) {
                //組件模式下設(shè)置applicationId
                applicationId "com.xxx.xxx.net"
            }
            ...      
        }
        
        // 配置不同模式下的AndroidManifest文件地址
        sourceSets {
            main {
                if (rootProject.ext.isNetApp) {
                    manifest.srcFile 'src/main/AndroidManifest.xml'
                } else {
                    // 這里再在對(duì)應(yīng)的文件夾下新建AndroidMenifest文件,并配置好activity等參數(shù)即可
                    manifest.srcFile 'src/main/module/AndroidManifest.xml'
                }
                jniLibs.srcDirs = ['libs']
            }
        }
    }
    

    AndroidMenifest的設(shè)置如下圖


    Module作為App單獨(dú)運(yùn)行_1.png

OK栅受,完成族铆。這樣我們就可以在config.gradle中切換模塊是否單獨(dú)運(yùn)行岩四。
實(shí)際效果如下


Module作為App單獨(dú)運(yùn)行_2.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哥攘,隨后出現(xiàn)的幾起案子剖煌,更是在濱河造成了極大的恐慌,老刑警劉巖献丑,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件末捣,死亡現(xiàn)場離奇詭異,居然都是意外死亡创橄,警方通過查閱死者的電腦和手機(jī)箩做,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妥畏,“玉大人邦邦,你說我怎么就攤上這事安吁。” “怎么了燃辖?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵鬼店,是天一觀的道長。 經(jīng)常有香客問我黔龟,道長妇智,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任氏身,我火速辦了婚禮巍棱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛋欣。我一直安慰自己航徙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布陷虎。 她就那樣靜靜地躺著到踏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪尚猿。 梳的紋絲不亂的頭發(fā)上窝稿,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音凿掂,去河邊找鬼讹躯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛缠劝,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骗灶,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼惨恭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了耙旦?” 一聲冷哼從身側(cè)響起脱羡,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎免都,沒想到半個(gè)月后锉罐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绕娘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年脓规,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片险领。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侨舆,死狀恐怖秒紧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挨下,我是刑警寧澤熔恢,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站臭笆,受9級(jí)特大地震影響叙淌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜愁铺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一鹰霍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帜讲,春花似錦衅谷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至在验,卻和暖如春玷氏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腋舌。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工盏触, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人块饺。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓赞辩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親授艰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辨嗽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344