技術(shù)要求 [color=var(--theme-ui-colors-text)]你需要達(dá)到以下要求以完成對(duì)于專屬應(yīng)用的編譯以及發(fā)布 - 一臺(tái)支持Android studio的計(jì)算機(jī)
- [color=var(--theme-ui-colors-primary)]Android studio(大陸地區(qū)可以使用Google.cn開發(fā)者網(wǎng)站下載[color=var(--theme-ui-colors-primary)]https://developer.android.google.cn/studio)
準(zhǔn)備[color=var(--theme-ui-colors-text)]首先,你需要下載Discuz Hub源代碼。 [color=var(--theme-ui-colors-text)]源碼地址:https://gitee.com/vez12/DiscuzHub [color=var(--theme-ui-colors-text)]
截圖202404290909446609.jpg (175.08 KB, 下載次數(shù): 118)
下載附件
2024-4-29 09:09 上傳
[color=var(--theme-ui-colors-text)]將下載的源代碼(文件名可能是DiscuzHub-master.zip)解壓到您存放源代碼的文件夾 [color=var(--theme-ui-colors-text)]這樣你就完成了對(duì)于源代碼的下載。接著你需要開始使用Android studio這個(gè)官方IDE編譯此應(yīng)用。
使用并安裝Android studio[color=var(--theme-ui-colors-text)]從[color=var(--theme-ui-colors-primary)]Android studio(大陸地區(qū)[color=var(--theme-ui-colors-primary)]https://developer.android.google.cn/studio)安裝好應(yīng)用后,你可能需要設(shè)置或下載一系列的軟件和插件以能夠編譯Android應(yīng)用。 [color=var(--theme-ui-colors-text)]我們的工程目前是支持Android 11版本的,請(qǐng)選擇并下載此版本的SDK以完成編譯。 [color=var(--theme-ui-colors-text)]使用Android studio打開存放源代碼的文件夾。
1. 修改應(yīng)用名稱請(qǐng)?jiān)贏ndroidManifest.xml(路徑:app\src\main\AndroidManifest.xml)文件中,修改application目錄下的android:label這個(gè)值為您論壇的名稱。例如android:label="QZZN論壇" - <application
- android:allowBackup="true"
- android:icon="@mipmap/logo"
- android:label="QZZN論壇" android:networkSecurityConfig="@xml/network_security_config"
- android:supportsRtl="true"
- android:theme="@style/AppTheme.Default"
- tools:ignore="GoogleAppIndexingWarning"
- tools:targetApi="n">
復(fù)制代碼
國(guó)際化需求[color=var(--theme-ui-colors-text)]我們理解到部分論壇可能具有國(guó)際化任務(wù)的需求,那么請(qǐng)維持AndroidManifest.xml文件的android:label這個(gè)值,轉(zhuǎn)而修改string.xml文件的app_name這個(gè)值。我們謹(jǐn)以keylol.com為例子。 [color=var(--theme-ui-colors-text)]keylol.com中文名稱為其樂,英文名稱為keylol。 在默認(rèn)英文字符串文件(strings.xml,路徑app\src\main\res\values\strings.xml)中修改app_name為keylol,在中文字符串文件(src\main\res\values-zh-rCN\strings.xml)中修改app_name值為其樂。
- <application
- android:allowBackup="true"
- android:icon="@mipmap/logo"
- android:label="@string/app_name" android:networkSecurityConfig="@xml/network_security_config"
- android:supportsRtl="true"
- android:theme="@style/AppTheme.Default"
- tools:ignore="GoogleAppIndexingWarning"
- tools:targetApi="n">
復(fù)制代碼
2. 修改應(yīng)用ID[color=var(--theme-ui-colors-text)]應(yīng)用ID相當(dāng)于應(yīng)用的身份證,一個(gè)應(yīng)用應(yīng)當(dāng)只有一個(gè)ID。當(dāng)相同的ID安裝時(shí),將會(huì)發(fā)生覆蓋的情況,并且會(huì)干擾應(yīng)用的運(yùn)行。根據(jù)我們的使用條款且為了您的分發(fā)便利,您不應(yīng)當(dāng)使用我們的應(yīng)用ID而應(yīng)當(dāng)轉(zhuǎn)而使用自己的ID。我們以QZZN為例,其論壇使用的域名為bbs.qzzn.com,那么根據(jù)Google開發(fā)者指南推薦,你可以使用com.qzzn.bbs為應(yīng)用ID。 [color=var(--theme-ui-colors-text)]在模塊的Gradle文件中,修改android選項(xiàng)下的defaultConfig中的applicationId為 "com.qzzn.bbs" ,示例如下:
- android {
- compileSdkVersion 30
- buildToolsVersion "29.0.3"
- defaultConfig {
- applicationId "com.qzzn.bbs" minSdkVersion 23
- targetSdkVersion 30
- versionCode 31
- versionName "3.10"
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- manifestPlaceholders = [
- discuz_title: "NOT_IMPLEMENTED",
- discuz_base_url: "NOT_IMPLEMENTED",
- ]
- }
- ...
- }
復(fù)制代碼 這樣你就完成了applicationId的修改。
修改構(gòu)建類型的值
在項(xiàng)目的gradle文件(相對(duì)路徑:app/build.gradle)下,我們提供了不同的構(gòu)建類型,其對(duì)應(yīng)著不同的分發(fā)版本,有著不同的功能
- single:這個(gè)就是專屬論壇使用的構(gòu)建類型,在分發(fā)時(shí),您應(yīng)當(dāng)選擇此構(gòu)建類型構(gòu)建自己的應(yīng)用并分發(fā)
- release: 這個(gè)是我們分發(fā)Discuz Hub應(yīng)用時(shí)的構(gòu)建源,其支持多個(gè)論壇同時(shí)使用,這個(gè)不應(yīng)當(dāng)用于構(gòu)建專屬論壇。
- debug:調(diào)試內(nèi)容,這個(gè)不應(yīng)用于生產(chǎn)環(huán)境
- qzzn:一個(gè)以qzzn論壇為例的構(gòu)建類型
請(qǐng)修改single下的discuz_title以及discuz_base_url兩個(gè)值。
- single {
- // fill your bbs id
- manifestPlaceholders = [
- discuz_title: "論壇名稱(如:西北工業(yè)大學(xué)三行四方)", discuz_base_url: "服務(wù)網(wǎng)址(如:https://bbs.example.com)", ]
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- applicationIdSuffix ".bbs" }
復(fù)制代碼- discuz_title是論壇的名稱,其將會(huì)被顯示與開始頁面,最終存入數(shù)據(jù)庫(kù)的名稱將以API為準(zhǔn)
- discuz_base_url是論壇的網(wǎng)址,這個(gè)參數(shù)非常重要,有的論壇服務(wù)在域名上(如bbs.qzzn.com),有的論壇則有一個(gè)路徑(如一畝三分地: [color=var(--theme-ui-colors-primary)]www.1point3acres.com/bbs),你應(yīng)當(dāng)非常注意此值。同時(shí)網(wǎng)址也需要給上協(xié)議(如HTTP和HTTPS)。我們的應(yīng)用雖然支持跳轉(zhuǎn),但是當(dāng)你的論壇支持HTTPS協(xié)議時(shí),請(qǐng)不要使用HTTP協(xié)議。
- applicationIdSuffix會(huì)在最終的applicationId添加一個(gè) .bbs 的后綴,因此最終編譯出的applicationId將會(huì)是com.qzzn.bbs.bbs
[color=var(--theme-ui-colors-text)]這樣就完成了應(yīng)用的修改,接著就可以開始應(yīng)用的構(gòu)建了。
更換圖標(biāo)[color=var(--theme-ui-colors-text)]根據(jù)我們的使用政策,您不應(yīng)當(dāng)使用我們的圖標(biāo)來分發(fā)您的應(yīng)用。因此,您需要使用自己的圖標(biāo)。 準(zhǔn)備圖標(biāo)[color=var(--theme-ui-colors-text)]我們推薦您使用SVG位圖或者PNG、JPG等像素圖像作為應(yīng)用圖標(biāo),尺寸大小應(yīng)當(dāng)是一個(gè)正方形或者類正方形。 [color=var(--theme-ui-colors-text)]| | SVG | PNG、JPG | | ---- | ---- | ---- | | 性質(zhì) | 位圖 | 像素圖 | | 分辨率 | 接近于無限,極好 | 較差 | | 兼容性 | 差,尤其是多圖層、圖形復(fù)雜時(shí) | 好 | [color=var(--theme-ui-colors-text)]我們理解到部分應(yīng)用商店(例如小米應(yīng)用商店)要求圖標(biāo)是PNG格式,因此請(qǐng)根據(jù)您的分發(fā)渠道確定圖標(biāo)格式。 使用Android Studio導(dǎo)入[color=var(--theme-ui-colors-text)]在項(xiàng)目框中任一地方點(diǎn)擊右鍵,呼出對(duì)話框。如果是位圖SVG文件,選擇New -> Vector Asset,如果是PNG、JPG資源文件選擇New -> Image Asset。 [color=var(--theme-ui-colors-text)]
截圖202404290914034719.jpg (213.82 KB, 下載次數(shù): 117)
下載附件
2024-4-29 09:14 上傳
[color=var(--theme-ui-colors-text)] [color=var(--theme-ui-colors-text)]接下來選擇你準(zhǔn)備好的圖片資源,選擇好后,選擇尺寸(建議100×100) [color=var(--theme-ui-colors-text)]
截圖202404290914184608.jpg (104.29 KB, 下載次數(shù): 116)
下載附件
2024-4-29 09:14 上傳
[color=var(--theme-ui-colors-text)]點(diǎn)擊next完成 從Manifest中更改圖標(biāo)
請(qǐng)?jiān)贏ndroidManifest.xml(路徑:app\src\main\AndroidManifest.xml)文件中,修改application目錄下的android:icon這個(gè)值為您論壇的名稱。如果是位圖則是@drawable/剛剛生成的名字,如果是像素則是@mipmap/剛剛生成的名字
- <application
- android:allowBackup="true"
- android:icon="@mipmap/logo" android:label="@string/app_name"
- android:networkSecurityConfig="@xml/network_security_config"
- android:supportsRtl="true"
- android:theme="@style/AppTheme.Default"
- tools:ignore="GoogleAppIndexingWarning"
- tools:targetApi="n">
復(fù)制代碼 我們建議使用位圖圖像,如果你想省事的話,直接復(fù)制PNG圖片,替換mipmap下的logo.png(路徑:/app/src/main/res/mipmap-xxxhdpi/logo.png)文件即可
構(gòu)建應(yīng)用[color=var(--theme-ui-colors-text)]和正常的Android程序一樣,首先你需要使用gradle構(gòu)建一下整個(gè)項(xiàng)目。在導(dǎo)航欄中選擇Build->Make Project完成項(xiàng)目的構(gòu)建。 [color=var(--theme-ui-colors-text)]
截圖202404290915525825.jpg (105.06 KB, 下載次數(shù): 127)
下載附件
2024-4-29 09:15 上傳
生成應(yīng)用[color=var(--theme-ui-colors-text)] [color=var(--theme-ui-colors-text)]在導(dǎo)航欄中選擇Build->Generate Signed Bundle or APK,打開選中的框 [color=var(--theme-ui-colors-text)]
截圖202404290916331473.jpg (38.23 KB, 下載次數(shù): 130)
下載附件
2024-4-29 09:16 上傳
[color=var(--theme-ui-colors-text)]選擇你需要分發(fā)的應(yīng)用類型,我們以分發(fā)APK為例,選擇APK,點(diǎn)擊Next。
[color=var(--theme-ui-colors-text)]
選擇密鑰庫(kù)[color=var(--theme-ui-colors-text)] [color=var(--theme-ui-colors-text)]當(dāng)你首次生成安裝文件時(shí),你需要?jiǎng)?chuàng)建一個(gè)密鑰庫(kù)(keystore)對(duì)安裝包進(jìn)行加密,并驗(yàn)證你的身份。如果你之前有密鑰庫(kù),你可以選擇Choose exisiting以選擇密鑰庫(kù)。
[color=var(--theme-ui-colors-text)]
截圖202404290916596756.jpg (55.96 KB, 下載次數(shù): 121)
下載附件
2024-4-29 09:16 上傳
[color=var(--theme-ui-colors-text)]若你沒有密鑰庫(kù),請(qǐng)選擇Create New以創(chuàng)建新的密鑰庫(kù)。
[color=var(--theme-ui-colors-text)]
截圖202404290917131147.jpg (71.91 KB, 下載次數(shù): 105)
下載附件
2024-4-29 09:17 上傳
[color=var(--theme-ui-colors-text)]填上上面的信息后,相應(yīng)路徑下就會(huì)生成密鑰庫(kù)文件。
[color=var(--theme-ui-colors-text)]選擇密鑰庫(kù)并填上密鑰和密碼,點(diǎn)擊Next。
選擇構(gòu)建類型[color=var(--theme-ui-colors-text)]請(qǐng)選擇single,構(gòu)建專屬于您論壇的應(yīng)用。建議同時(shí)選擇上簽名版本v1和v2。點(diǎn)擊finish開始生成安裝包apk。 [color=var(--theme-ui-colors-text)]
截圖202404290917473539.jpg (54.19 KB, 下載次數(shù): 113)
下載附件
2024-4-29 09:17 上傳
[color=var(--theme-ui-colors-text)]等待生成完畢后,生成的APK文件就可以用于分發(fā)以及安裝。 [color=var(--theme-ui-colors-text)]這樣,你就完成了應(yīng)用的構(gòu)建
|