返回列表 发帖
查看: 435|回复: 0

分享一个APP的制作教程(教程来自互联网自行研究)

83

主题

91

回帖

238

积分

炉火纯青

贡献
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)] 截图202404290909446609.jpg
[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)] 截图202404290914034719.jpg
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]接下来选择你准备好的图片资源,选择好后,选择尺寸(建议100×100)
[color=var(--theme-ui-colors-text)] 截图202404290914184608.jpg
[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)] 截图202404290915525825.jpg

生成应用
[color=var(--theme-ui-colors-text)]
[color=var(--theme-ui-colors-text)]在导航栏中选择Build->Generate Signed Bundle or APK,打开选中的框
[color=var(--theme-ui-colors-text)] 截图202404290916331473.jpg
[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)] 截图202404290916596756.jpg
[color=var(--theme-ui-colors-text)]若你没有密钥库,请选择Create New以创建新的密钥库。
[color=var(--theme-ui-colors-text)] 截图202404290917131147.jpg
[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)] 截图202404290917473539.jpg
[color=var(--theme-ui-colors-text)]等待生成完毕后,生成的APK文件就可以用于分发以及安装。
[color=var(--theme-ui-colors-text)]这样,你就完成了应用的构建


网络信息圈:www.wlxxq.com
爱豆云服务器:www.aidouyun.cn
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-14 12:40 , Processed in 0.044615 second(s), 7 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表