久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

返回列表 發帖
查看: 1986|回復: 3

分享一個APP的制作教程(教程來自互聯網自行研究)

92

主題

104

回帖

261

積分

爐火純青

貢獻
0 點
金幣
55 個
樓主
發表于 2024-4-29 09:18:17 | 只看樓主 |只看大圖 |倒序瀏覽 |閱讀模式
技術要求
[color=var(--theme-ui-colors-text)]你需要達到以下要求以完成對于專屬應用的編譯以及發布
  • 一臺支持Android studio的計算機
  • [color=var(--theme-ui-colors-primary)]Android studio(大陸地區可以使用Google.cn開發者網站下載[color=var(--theme-ui-colors-primary)]https://developer.android.google.cn/studio

準備
[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)]
[color=var(--theme-ui-colors-text)]將下載的源代碼(文件名可能是DiscuzHub-master.zip)解壓到您存放源代碼的文件夾
[color=var(--theme-ui-colors-text)]這樣你就完成了對于源代碼的下載。接著你需要開始使用Android studio這個官方IDE編譯此應用。

使用并安裝Android studio
[color=var(--theme-ui-colors-text)]從[color=var(--theme-ui-colors-primary)]Android studio(大陸地區[color=var(--theme-ui-colors-primary)]https://developer.android.google.cn/studio)安裝好應用后,你可能需要設置或下載一系列的軟件和插件以能夠編譯Android應用。
[color=var(--theme-ui-colors-text)]我們的工程目前是支持Android 11版本的,請選擇并下載此版本的SDK以完成編譯。
[color=var(--theme-ui-colors-text)]使用Android studio打開存放源代碼的文件夾。

1. 修改應用名稱
請在AndroidManifest.xml(路徑:app\src\main\AndroidManifest.xml)文件中,修改application目錄下的android:label這個值為您論壇的名稱。例如android:label="QZZN論壇"
  1. <application
  2.         android:allowBackup="true"
  3.         android:icon="@mipmap/logo"
  4.         android:label="QZZN論壇"        android:networkSecurityConfig="@xml/network_security_config"
  5.         android:supportsRtl="true"
  6.         android:theme="@style/AppTheme.Default"
  7.         tools:ignore="GoogleAppIndexingWarning"
  8.         tools:targetApi="n">
復制代碼

國際化需求
[color=var(--theme-ui-colors-text)]我們理解到部分論壇可能具有國際化任務的需求,那么請維持AndroidManifest.xml文件的android:label這個值,轉而修改string.xml文件的app_name這個值。我們謹以keylol.com為例子。
[color=var(--theme-ui-colors-text)]keylol.com中文名稱為其樂,英文名稱為keylol。
在默認英文字符串文件(strings.xml,路徑app\src\main\res\values\strings.xml)中修改app_name為keylol,在中文字符串文件(src\main\res\values-zh-rCN\strings.xml)中修改app_name值為其樂。
  1. <application
  2.         android:allowBackup="true"
  3.         android:icon="@mipmap/logo"
  4.         android:label="@string/app_name"        android:networkSecurityConfig="@xml/network_security_config"
  5.         android:supportsRtl="true"
  6.         android:theme="@style/AppTheme.Default"
  7.         tools:ignore="GoogleAppIndexingWarning"
  8.         tools:targetApi="n">
復制代碼

2. 修改應用ID
[color=var(--theme-ui-colors-text)]應用ID相當于應用的身份證,一個應用應當只有一個ID。當相同的ID安裝時,將會發生覆蓋的情況,并且會干擾應用的運行。根據我們的使用條款且為了您的分發便利,您不應當使用我們的應用ID而應當轉而使用自己的ID。我們以QZZN為例,其論壇使用的域名為bbs.qzzn.com,那么根據Google開發者指南推薦,你可以使用com.qzzn.bbs為應用ID。
[color=var(--theme-ui-colors-text)]在模塊的Gradle文件中,修改android選項下的defaultConfig中的applicationId為 "com.qzzn.bbs" ,示例如下:

  1. android {
  2.     compileSdkVersion 30
  3.     buildToolsVersion "29.0.3"
  4.     defaultConfig {
  5.         applicationId "com.qzzn.bbs"        minSdkVersion 23
  6.         targetSdkVersion 30
  7.         versionCode 31
  8.         versionName "3.10"
  9.         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  10.         manifestPlaceholders = [
  11.                 discuz_title: "NOT_IMPLEMENTED",
  12.                 discuz_base_url: "NOT_IMPLEMENTED",
  13.         ]
  14.     }
  15.     ...
  16. }
復制代碼
這樣你就完成了applicationId的修改。



修改構建類型的值
在項目的gradle文件(相對路徑:app/build.gradle)下,我們提供了不同的構建類型,其對應著不同的分發版本,有著不同的功能
  • single:這個就是專屬論壇使用的構建類型,在分發時,您應當選擇此構建類型構建自己的應用并分發
  • release: 這個是我們分發Discuz Hub應用時的構建源,其支持多個論壇同時使用,這個不應當用于構建專屬論壇。
  • debug:調試內容,這個不應用于生產環境
  • qzzn:一個以qzzn論壇為例的構建類型

請修改single下的discuz_title以及discuz_base_url兩個值。

  1. single {
  2.             // fill your bbs id
  3.             manifestPlaceholders = [
  4.                     discuz_title: "論壇名稱(如:西北工業大學三行四方)",                    discuz_base_url: "服務網址(如:https://bbs.example.com)",            ]
  5.             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  6.             applicationIdSuffix ".bbs"        }
復制代碼
  • discuz_title是論壇的名稱,其將會被顯示與開始頁面,最終存入數據庫的名稱將以API為準
  • discuz_base_url是論壇的網址,這個參數非常重要,有的論壇服務在域名上(如bbs.qzzn.com),有的論壇則有一個路徑(如一畝三分地: [color=var(--theme-ui-colors-primary)]www.1point3acres.com/bbs),你應當非常注意此值。同時網址也需要給上協議(如HTTP和HTTPS)。我們的應用雖然支持跳轉,但是當你的論壇支持HTTPS協議時,請不要使用HTTP協議。
  • applicationIdSuffix會在最終的applicationId添加一個 .bbs 的后綴,因此最終編譯出的applicationId將會是com.qzzn.bbs.bbs
[color=var(--theme-ui-colors-text)]這樣就完成了應用的修改,接著就可以開始應用的構建了。

更換圖標
[color=var(--theme-ui-colors-text)]根據我們的使用政策,您不應當使用我們的圖標來分發您的應用。因此,您需要使用自己的圖標。
準備圖標
[color=var(--theme-ui-colors-text)]我們推薦您使用SVG位圖或者PNG、JPG等像素圖像作為應用圖標,尺寸大小應當是一個正方形或者類正方形。
[color=var(--theme-ui-colors-text)]| | SVG | PNG、JPG | | ---- | ---- | ---- | | 性質 | 位圖 | 像素圖 | | 分辨率 | 接近于無限,極好 | 較差 | | 兼容性 | 差,尤其是多圖層、圖形復雜時 | 好 |
[color=var(--theme-ui-colors-text)]我們理解到部分應用商店(例如小米應用商店)要求圖標是PNG格式,因此請根據您的分發渠道確定圖標格式。
使用Android Studio導入
[color=var(--theme-ui-colors-text)]在項目框中任一地方點擊右鍵,呼出對話框。如果是位圖SVG文件,選擇New -> Vector Asset,如果是PNG、JPG資源文件選擇New -> Image Asset。
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]接下來選擇你準備好的圖片資源,選擇好后,選擇尺寸(建議100×100)
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]點擊next完成
從Manifest中更改圖標
請在AndroidManifest.xml(路徑:app\src\main\AndroidManifest.xml)文件中,修改application目錄下的android:icon這個值為您論壇的名稱。如果是位圖則是@drawable/剛剛生成的名字,如果是像素則是@mipmap/剛剛生成的名字

  1. <application
  2.         android:allowBackup="true"
  3.         android:icon="@mipmap/logo"        android:label="@string/app_name"
  4.         android:networkSecurityConfig="@xml/network_security_config"
  5.         android:supportsRtl="true"
  6.         android:theme="@style/AppTheme.Default"
  7.         tools:ignore="GoogleAppIndexingWarning"
  8.         tools:targetApi="n">
復制代碼
我們建議使用位圖圖像,如果你想省事的話,直接復制PNG圖片,替換mipmap下的logo.png(路徑:/app/src/main/res/mipmap-xxxhdpi/logo.png)文件即可


構建應用
[color=var(--theme-ui-colors-text)]和正常的Android程序一樣,首先你需要使用gradle構建一下整個項目。在導航欄中選擇Build->Make Project完成項目的構建。
[color=var(--theme-ui-colors-text)]

生成應用
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]在導航欄中選擇Build->Generate Signed Bundle or APK,打開選中的框
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]選擇你需要分發的應用類型,我們以分發APK為例,選擇APK,點擊Next。
[color=var(--theme-ui-colors-text)]
選擇密鑰庫
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]當你首次生成安裝文件時,你需要創建一個密鑰庫(keystore)對安裝包進行加密,并驗證你的身份。如果你之前有密鑰庫,你可以選擇Choose exisiting以選擇密鑰庫。
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]若你沒有密鑰庫,請選擇Create New以創建新的密鑰庫。
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]填上上面的信息后,相應路徑下就會生成密鑰庫文件。
[color=var(--theme-ui-colors-text)]選擇密鑰庫并填上密鑰和密碼,點擊Next。

選擇構建類型
[color=var(--theme-ui-colors-text)]請選擇single,構建專屬于您論壇的應用。建議同時選擇上簽名版本v1和v2。點擊finish開始生成安裝包apk。
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]等待生成完畢后,生成的APK文件就可以用于分發以及安裝。
[color=var(--theme-ui-colors-text)]這樣,你就完成了應用的構建


回復

使用道具 舉報

28

主題

5574

回帖

1萬

積分

應用開發者

貢獻
596 點
金幣
1442 個
QQ
沙發
發表于 2024-8-31 11:42:55 | 只看Ta
感謝分享……雖然應該是轉載的
回復

使用道具 舉報

53

主題

280

回帖

390

積分

應用開發者

貢獻
7 點
金幣
9 個
QQ
板凳
發表于 2024-9-1 14:41:29 | 只看Ta
感謝分享……雖然應該是轉載的
回復

使用道具 舉報

0

主題

5

回帖

11

積分

初學乍練

貢獻
0 點
金幣
5 個
地板
發表于 2024-12-7 00:35:47 | 只看Ta
正在嘗試編譯中
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2025-7-1 20:58 , Processed in 0.065280 second(s), 12 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表