어떻게 Flutter 를 사용 하여 안 드 로 이 드 애플 리 케 이 션 을 발표 합 니까?

응용 이름,패키지 이름,아이콘,시작 설정
안 드 로 이 드 의 응용 자원 설정 은 main/android Manifest.xml 에 설정 되 어 있 으 며 파일 내용 은 다음 과 같 습 니 다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.gesture_demo">
    <!-- io.flutter.app.FlutterApplication is an android.app.Application that
         calls FlutterMain.startInitialization(this); in its onCreate method.
         In most cases you can leave this as-is, but you if you want to provide
         additional functionality it is fine to subclass or reimplement
         FlutterApplication and put your custom class here. -->
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="gesture_demo"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

Flutter 에서 생 성 된 파일 은 대부분의 내용 을 그대로 유지 할 수 있 지만 필요 에 따라 수정 할 수 있 도록 권장 합 니 다.
구체 적 으로 수정 할 수 있 는 내용 은 다음 과 같다.
속성 명
용도.
설명 하 다.
package
응용 패키지 이름
안 드 로 이 드 가 사용 하 는 유일한 식별 자 는 보통 com.xxxx.xxx 형식 입 니 다.
android:label
디 스 플레이 이름 적용
기본적으로 프로젝트 이름 이 므 로 실제 상황 에 따라 수정 해 야 합 니 다.
android:icon
아이콘 적용
지정 한 아이콘 파일 을 바 꾸 면 됩 니 다.
meta-data
   android:name
자원 이름
변경 불가,Flutter 에서 안 드 로 이 드 플러그 인 생 성 에 사용
meta-data
  value
자원 값
변경 불가,Flutter 에서 안 드 로 이 드 플러그 인 생 성 에 사용
아이콘 바 꾸 기
안 드 로 이 드 는 Flutter 프로젝트 의 안 드 로 이 드/app/src/main/res 대응 사이즈 디 렉 터 리 에 아이콘 파일 을 적용 할 수 있 도록 다음 크기 의 아이콘 설정 파일 을 제공 합 니 다.
사이즈
아이콘 크기
화면 크기
mipmap-mdpi
48x48
320×480
mipmap-hdpi
72x72
480×800,480×854
mipmap-xhdpi
96x96
1280*720,720p
mipmap-xxhdpi
144x144
1920*1080,1080p
mipmap-xxxhdpi
192x192
3840×2160,4k
시작 페이지 바 꾸 기
Flutter 프로젝트 의 android/app/src/main/drawable 에 있 는 launch 시작 페이지 그림 적용background.xml 설정 파일 에서 기본 값 은 흰색 바탕 이 고 xml 설 문 지 는 다음 과 같 습 니 다.

<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white" />

    <!-- You can insert your own image assets here -->
    <!-- <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/launch_image" />
    </item> -->
</layer-list>

설명 이 떨 어 진 부분 은 시작 페이지 그림 을 설정 할 수 있 습 니 다.일부 기종 의 크기 가 시작 페이지 그림 과 일치 하지 않 기 때문에 시작 페이지 의 배경 색 과 시작 페이지 그림 가장자리 가 일치 하도록 설정 할 수 있 습 니 다.

<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  	<!--     -->
    <item android:drawable="@android:color/white" />
		
  	<!--      ,          -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/launch_image" />
    </item>
</layer-list>

접근 권한 설정
android/app/src 에 있 는 AndroidManifest.xml(src/profile 폴 더 에 있 는 AndroidManifest.xml 파일 이 아 닌 것 을 주의 하 십시오)파일 에 네트워크,앨범,카메라 등 응용 권한 을 설정 합 니 다.개발 환경 은 android/src/debug 의 AndroidManifest.xml 에 설 정 됩 니 다.다음은 예제 파일 입 니 다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.animation_demo">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="    "
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

설정 버 전 발표 파라미터
android/app/build.gradle 파일 에서 설정 이 올 바른 지 확인 합 니 다.
  • applicationId:유일한 AppId 를 응용 합 니 다.예 를 들 어 com.lios.helloworld
  • versionCode:응용 프로그램 버 전 번호versionName:버 전 번호 문자열minSdkVersion:가장 낮은 API 레벨 을 지정 합 니 다targetSdkVersion:프로그램 이 실행 중인 API 단 계 를 지정 합 니 다.
    다음 과 같다.
    
    android {
        compileSdkVersion 28
    
        sourceSets {
            main.java.srcDirs += 'src/main/kotlin'
        }
    
        lintOptions {
            disable 'InvalidPackage'
        }
    
        defaultConfig {
            // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
            applicationId "com.example.animation_demo"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
    
        buildTypes {
            release {
                // TODO: Add your own signing config for the release build.
                // Signing with the debug keys for now, so `flutter run --release` works.
                signingConfig signingConfigs.debug
            }
        }
    }
    
    이 안 에는 versionCode 와 versionName 이 flutterVersionCode 와 flutterVersionName 에서 도 입 된 것 을 볼 수 있 습 니 다.이 두 변 수 는 build.gradle 에 정의 되 어 있 습 니 다.local.properties 에서 먼저 읽 습 니 다.이 파일 에서 정의 되 지 않 으 면 local Properties 에서 설정 하거나 build.gradle 에서 설정 할 수 있 습 니 다(local.properties 의 값 을 우선 선택 하 십시오).
    
    def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
    if (flutterVersionCode == null) {
        flutterVersionCode = '1'
    }
    
    def flutterVersionName = localProperties.getProperty('flutter.versionName')
    if (flutterVersionName == null) {
        flutterVersionName = '1.0'
    }
    
    응용 서명 생 성
    keystore 를 만 듭 니 다.이전에 만 들 었 다 면 key.properties 에 도입 하면 됩 니 다.
    
    #  ~/key.jks  keystore  key.jks   ~/   
    keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
    
    
    힌트 에 따라 비밀번호 와 조직 정 보 를 입력 하면 됩 니 다.
    
           :  
           : 
              ?
      [Unknown]:  lag
               ?
      [Unknown]:  island-coder
             ?
      [Unknown]:  RD
                  ?
      [Unknown]:  Coder
         / /        ?
      [Unknown]:  Island
             /       ?
      [Unknown]:  CN
    CN=lag, OU=island-coder, O=RD, L=Coder, ST=Island, C=CN    ?
      [ ]:  Y
    
              2,048  RSA          (SHA256withRSA) (     10,000  ):
    	 CN=lag, OU=island-coder, O=RD, L=Coder, ST=Island, C=CN
    [    /Users/lag/key.jks]
    
    
    android 디 렉 터 리 에 key.properties 파일 을 만 들 고 키 라 이브 러 리 정 보 를 참조 합 니 다.
    
    storePassword={     } #
    keyPassword={    }
    keyAlias=key    #      -alias    
    storeFile=/Users/lag/key.jks  #       key.jks     
    
    프로필 수정
    build.gradle 파일 에서 android 에 다음 내용 을 추가 합 니 다.
    
    	signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile = file(keystoreProperties['storeFile'])
                storePassword = keystoreProperties['storePassword']
            }
        }
    
        buildTypes {
            release {
                // TODO: Add your own signing config for the release build.
                // Signing with the debug keys for now, so `flutter run --release` works.
                signingConfig signingConfigs.release
                
            }
        }
    
    포장 하 다.
    프로젝트 디 렉 터 리 에서 다음 명령 을 실행 합 니 다:
    
    flutter build apk
    
    기본적으로 release 패키지 에 따라 생 성 된 apk 는 build.app/outputs/apk/app-relase.apk 에 있 습 니 다.
    주의 사항
    AndroidManifest.xml 파일 을 수정 하면 flutter 패키지 에 캐 시가 존재 할 수 있 습 니 다.이 때 아래 명령 을 실행 하고 캐 시 를 지우 고 다시 포장 하면 됩 니 다.
    
    flutter clean
    
    이상 은 Flutter 를 어떻게 사용 하여 안 드 로 이 드 애플 리 케 이 션 을 발표 하 는 지 에 대한 상세 한 내용 입 니 다.Flutter 가 안 드 로 이 드 애플 리 케 이 션 을 발표 하 는 것 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 하 시기 바 랍 니 다!

    좋은 웹페이지 즐겨찾기