Moonlight Android 开源项目教程
1. 项目的目录结构及介绍
Moonlight Android 项目的目录结构如下:
moonlight-android/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java/
│ │ │ │ └── org/
│ │ │ │ └── moonlight/
│ │ │ │ └── android/
│ │ │ │ └── ...
│ │ │ └── res/
│ │ │ └── ...
│ ├── fastlane/
│ │ └── metadata/
│ │ └── android/
│ │ └── ...
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── store-assets/
│ └── ...
├── .gitignore
├── .gitmodules
├── LICENSE.txt
├── README.md
├── appveyor.yml
├── build.gradle
├── decoder-errata.txt
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
目录结构介绍
app/
: 包含应用程序的主要代码和资源文件。build.gradle
: 应用程序的构建脚本。src/
: 源代码目录。main/
: 主源代码目录。AndroidManifest.xml
: 应用程序的清单文件。java/
: Java 源代码目录。org/
: 包目录。moonlight/
: Moonlight 包目录。android/
: Android 相关代码。
res/
: 资源文件目录。
fastlane/
: 包含用于自动化应用商店元数据的文件。metadata/
: 元数据目录。android/
: Android 元数据。
gradle/
: Gradle 包装器目录。wrapper/
: 包装器目录。gradle-wrapper.jar
: Gradle 包装器 JAR 文件。gradle-wrapper.properties
: Gradle 包装器属性文件。
store-assets/
: 应用商店资产目录。.gitignore
: Git 忽略文件。.gitmodules
: Git 子模块文件。LICENSE.txt
: 项目许可证文件。README.md
: 项目自述文件。appveyor.yml
: AppVeyor 配置文件。build.gradle
: 根项目构建脚本。decoder-errata.txt
: 解码器错误记录文件。gradle.properties
: Gradle 属性文件。gradlew
: Gradle 包装器脚本。gradlew.bat
: Gradle 包装器批处理脚本。settings.gradle
: 项目设置文件。
2. 项目的启动文件介绍
Moonlight Android 项目的启动文件是 app/src/main/AndroidManifest.xml
。这个文件定义了应用程序的基本信息,包括应用程序的组件、权限、启动器活动等。
AndroidManifest.xml 文件介绍
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.moonlight.android">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<manifest>
: 定义了应用程序的包名和其他基本信息。<application>
: 定义了应用程序的图标、标签、主题等。<activity>
: 定义了应用程序的活动。<intent-filter>
: 定义了活动的意图过滤器,指定了