首页
/ Android_Native_Surface 项目教程

Android_Native_Surface 项目教程

2024-08-19 17:08:29作者:贡沫苏Truman

1. 项目的目录结构及介绍

Android_Native_Surface 项目的目录结构如下:

Android_Native_Surface/
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── cpp/
│   │   │   │   ├── main.cpp
│   │   │   │   ├── native-lib.cpp
│   │   │   ├── java/
│   │   │   │   ├── com/
│   │   │   │   │   ├── example/
│   │   │   │   │   │   ├── MainActivity.java
│   │   │   ├── res/
│   │   │   │   ├── layout/
│   │   │   │   │   ├── activity_main.xml
├── CMakeLists.txt
├── build.gradle
├── settings.gradle

目录结构介绍

  • app/: 主应用程序目录。
    • src/: 源代码目录。
      • main/: 主源代码目录。
        • cpp/: C++ 源代码目录。
          • main.cpp: 主 C++ 文件。
          • native-lib.cpp: 本地库文件。
        • java/: Java 源代码目录。
          • com/example/: 包目录。
            • MainActivity.java: 主 Java 活动文件。
        • res/: 资源目录。
          • layout/: 布局文件目录。
            • activity_main.xml: 主活动布局文件。
  • CMakeLists.txt: CMake 构建文件。
  • build.gradle: Gradle 构建文件。
  • settings.gradle: Gradle 设置文件。

2. 项目的启动文件介绍

启动文件

  • MainActivity.java: 这是应用程序的主活动文件,负责启动应用程序并加载本地库。
package com.example;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity {
    static {
        System.loadLibrary("native-lib");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

启动流程

  1. MainActivity 继承自 Activity
  2. 在静态块中加载本地库 native-lib
  3. onCreate 方法中设置布局文件 activity_main.xml

3. 项目的配置文件介绍

配置文件

  • build.gradle: 这是 Gradle 构建文件,负责配置项目的构建过程。
apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    defaultConfig {
        applicationId "com.example"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        externalNativeBuild {
            cmake {
                cppFlags "-std=c++14"
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
}

配置文件介绍

  • apply plugin: 应用 Android 应用程序插件。
  • android: 配置 Android 构建选项。
    • compileSdkVersion: 编译 SDK 版本。
    • defaultConfig: 默认配置。
      • applicationId: 应用程序 ID。
      • minSdkVersion: 最小 SDK 版本。
      • targetSdkVersion: 目标 SDK 版本。
      • versionCode: 版本代码。
      • versionName: 版本名称。
      • externalNativeBuild: 外部本地构建配置。
        • cmake: CMake 配置。
          • **
登录后查看全文
热门项目推荐