日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android插件化(使用Small框架)

發布時間:2025/3/20 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android插件化(使用Small框架) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

github:

https://github.com/cayden/MySmall

Android插件化(使用Small框架)

框架源代碼

1. Create Project

File->New->New Project...

1.1 Configure your new project

假設宿主包名為com.example.mysmall

  • 設置Application name為MySmall
  • 改動Company Domain為com.example.mysmall

    這步是個技巧,在Step3新建Module時將會自己主動帶上該前綴

  • 修正Package name為com.example.mysmall

  • 1.2 Add an activity to mobile

    這步推薦使用Fullscreen Activity,作為啟動界面再好只是。 在配置Activity界面。建議把Activity Name改為LaunchActivity(使名符事實上)。

    2. Configure Small

    改動Project的build.gradle

    2.1 增加Small編譯庫

    buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:1.3.0'classpath 'net.wequick.tools.build:gradle-small:0.1.1'} }...apply plugin: 'net.wequick.small'

    2.2 配置Small DSL (可選)

    眼下僅僅有一個屬性aarVersion,表示Small aar的代碼庫版本號。假設沒有設置,默覺得gradle-small的版本號。

    small {aarVersion = '0.1.2' }

    最新的版本號號能夠在Bintray上看到。

    3. Create Module

    File->New->Module來創建插件模塊,須要滿足:

  • 模塊名形如:app.*,?lib.*或者web.*
  • 包名包括:.app.,?.lib.或者.web.

    為什么要這樣?由于Small會依據包名對插件進行歸類。特殊的域名空間如:“.app.” 會讓這變得easy。

  • 對lib.*模塊選擇Android Library,其它模塊選擇Phone & Tablet Module。

    創建一個插件模塊,比方app.main:

  • 改動Application/Library name為App.main
  • 改動Package name為com.example.mysmall.app.main

  • 4. Configure UI route

    右鍵app模塊->New->Folder->Assets Folder,新建assets文件夾,

    右鍵assets文件夾->New->File,新建bundles.json文件。增加:

    {"version": "1.0.0","bundles": [{"uri": "main","pkg": "com.example.mysmall.app.main"}] }

    5. Setup Small

    5.1 配置簽名

    切換到Project文件夾樹,右鍵MySmall,新建sign文件夾,增加release.jks簽名文件。

    在app模塊的build.gradle中增加簽名配置(password改成自己的):

    signingConfigs {release {storeFile file('../sign/release.jks')storePassword "5mall@ndro!d"keyAlias "small"keyPassword "5mall@ndro!d"} } buildTypes {release {signingConfig signingConfigs.release} }

    5.2 配置基礎依賴

    在app模塊增加共享的依賴庫。比方:

    compile 'com.android.support:design:23.1.1'

    5.3 載入插件

    在app模塊的LaunchActivity重載onStart方法:

    @Override protected void onStart() {super.onStart();Small.setBaseUri("http://example.com/");Small.setUp(this, new net.wequick.small.Bundle.OnLoadListener() {@Overridepublic void onStart(int bundleCount, int upgradeBundlesCount, long upgradeBundlesSize) {}@Overridepublic void onProgress(int bundleIndex, String bundleName, long loadedSize, long bundleSize) {}@Overridepublic void onComplete(Boolean success) {Small.openUri("main", LaunchActivity.this);}}); }

    6. Compile Small

  • Build libraries (準備基礎庫)

    [./]gradlew buildLib -q (-q是安靜模式,能夠讓輸出更好看,也能夠不加)

  • Build bundles (打包全部組件)

    [./]gradlew buildBundle -q (-q是安靜模式,能夠讓輸出更好看,也能夠不加)

  • 這兩步,假設你喜歡,也能夠在Gradle任務導航里執行

    單獨編譯一個組件能夠使用 [./]gradlew -p web.about assembleRelease
    或者

    7. Run Small

    在工具欄,選擇app模塊,執行。

    .文件夾結構



    異常處理

    1、上面是給出的步驟 可是須要注意的是新建插件模塊的時候比方輸入的是app.main 這個時候包名須要注意改動為相似com.example.small.app.main ?而不是com.example.small.appmain 這樣執行會出問題。
    2、假設編譯出現故障 須要先執行./gradlew cleanLib


    轉載于:https://www.cnblogs.com/lxjshuju/p/7226175.html

    總結

    以上是生活随笔為你收集整理的Android插件化(使用Small框架)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。