動機: 作成者は Flutter プロジェクトの apk をパッケージ化する必要があります。この Flutter プロジェクトでは Webview サービスが使用されます。プロジェクト名は、flutter_issue_120853 です。この記事では Android Studio 開発ツールを使用します。この記事には 2 つの部分が含まれています: 1. flutter_issue_120853 のパッケージ化プロセス; 2. Android エミュレーターで flutter_issue_120853 が空白で表示される問題の解決策。
1. flutter_issue_120853(Androidアプリ)のパッケージ化処理
1.1 署名の作成
署名を作成する前に、コンピューター上に JDK 環境が必要です (具体的なインストール手順については、Baidu を参照してください)。プロジェクトのルート ディレクトリに次のコマンドを入力します。
keytool -genkey -alias android.jks -keyalg RSA -storetype PKCS12 -validity 36500 -keystore android.jks
コマンドの説明: android.jks という名前の証明書ファイルを作成します。エイリアスも android.jks です。暗号化アルゴリズムは RSA を使用し、有効期間は 100 年で、業界標準形式は PKCS12 です。注: ここでパスを自分で設定することもできますが、作成者はこのパスを flutter_issue_120853 プロジェクトのルート ディレクトリに直接作成します。
注:
-genkey 生成ファイル
-alias エイリアス
-keyalg 暗号化アルゴリズム
-validity 有効期間
-keystore ファイル名
-storetype PKCS12 業界標準形式 PKCS12
指示に従って必要な内容を入力し、最後に「y」を入力して確認します。
1.2 証明書の詳細情報を表示する
コマンドは次のとおりです。
keytool -list -v -keystore "android.jks"
1.3 プロジェクトに署名情報を設定する
プロジェクトの Android フォルダーにkey.propertiesファイルを作成します。
=========== 粘贴如下代码 ==================
storePassword=<password from previous step> //输入上一步创建KEY时输入的 密钥库 密码
keyPassword=<password from previous step> //输入上一步创建KEY时输入的 密钥 密码
keyAlias=android.jks // 别名
storeFile= //key.jks的存放路径
=========== 示例 ==================
storePassword=123456
keyPassword=123456
keyAlias=android.jks
storeFile=C:/Users/tingt/Desktop/android.jks (创建签名的路径,1.1中的介绍。)
プロジェクト ディレクトリに*/android/app/build.gradleファイルを入力し、 build.gradle* ファイルの先頭に次のコードを追加します。
// 寻找签名配置文件
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
build.gradleファイル内のコードを次のものに置き換えます。
=================== 替换前代码 =================
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
=================== 替换后代码 =================
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
1.4 アプリケーションをパッケージ化してインストールする
flutter build apk
1.5 アプリをインストールする
通常、パッケージ化された APK は、プロジェクトのルート ディレクトリの *\build\app\outputs\apk\release\app-release.apk* に保存されます。次に、次のコマンドを実行してインストールします。
adb install C:\Users\tingt\Desktop\flutter_app\build\app\outputs\apk\release\app-release.apk
2. Android エミュレータで flutter_issue_120853 に空白が表示される問題の解決策
最初の部分では、Flutter プロジェクトがどのように APK にパッケージ化されるかを紹介しました。この章では主に、Androidエミュレータでインストールしたアプリを開いた後に空白のページが表示される問題の解決方法を紹介します。作成者が Android エミュレータで新しくインストールしたアプリを開いたとき、
長時間待っても指定したページが表示されないという状況に遭遇しました。
原因分析: 上記の状況の理由は、Android 開発の Flutter アプリケーションにネットワーク権限がないことが原因です。解決策は次のとおりです。
1.1 ネットワーク権限を追加する
android\app\src\profile\AndroidManifest.xmlファイルの** に次のコードを追加します。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
AndroidManifest.xml設定ファイルは次のとおりです:
apk を再パッケージし、シミュレーターでアプリを実行すると、アプリが正常に Web ページを表示できることがわかります。
これで完了です。!!
議論へようこそ…