AndroidStudio プロジェクトを作成する
1.1 では、前のセクションでユニアプリのクラウド パッケージ化を説明しました。次に、androidStudio をオフラインでパッケージ化する方法を説明します。AndroidStudioで新しい空のプロジェクトを作成する
1.2. ユニアプリ オフライン SDK をダウンロードします。オフライン SDK は主に、アプリのローカル オフライン パッケージ化とネイティブ機能の拡張に使用されます。SDK のダウンロード リンクは https://nativesupport.dcloud.net.cn/AppDocs/download です。 /android.html#
1.3、SDK ディレクトリの説明
|-- HBuilder-Hello App オフライン パッケージング デモ アプリケーション
|-- ユニアプリを統合する HBuilder-Integrate-AS の最も単純な例
|-- SDK SDK ライブラリ ファイル ディレクトリ
|-- 各拡張機能 API に対応する Feature-Android.xls Android プラットフォーム 詳細設定
|-- Readme.txt バージョン記述ファイルと注意事項
|-- UniPlugin-Hello-AS ユニネイティブプラグイン開発例
1.4、SDK ディレクトリ、androidStudio は後で SDK 内のリソースを使用する必要があります
1.5 では、AndroidStudio が uni-sdk を構成し、uni-sdk 基本 arr パッケージを AndroidStudio の libs ディレクトリにコピーします。
lib.5plus.base-release.aar
uniapp-v8-release.aar
oaid_sdk_1.0.25.aar
インストール-apk-release.aar
ブレークパッド-ビルド-リリース.aar
1.6、アセットのデータ ディレクトリを androidStudio のアセットにコピーします
1.7 では、アプリ ディレクトリ内の build.gradle 設定プロジェクトは依存関係に依存しており、AndroidX バージョンでは次のリソースを追加する必要があります。
実装 fileTree(include: ['*.jar'], dir: 'libs')
実装 fileTree(include: ['*.aar'], dir: 'libs')
実装 'androidx.appcompat:appcompat:1.0.0'
実装「androidx.legacy:legacy-support-v4:1.0.0」
実装「androidx.recyclerview:recyclerview:1.0.0」
実装「com.facebook.fresco:fresco:2.5.0」
実装「com.facebook.fresco: anime-gif:2.5.0」
実装「com.github.bumptech.glide:glide:4.9.0」
実装「com.alibaba:fastjson:1.2.83」
実装「androidx.webkit:webkit:1.3.0」
1.8 では、uni-app を構成するときに build.gradle に aaptOptions 構成を追加する必要があります
aaptOptions {
AdditionalParameters '-auto-add-overlay'ignoreAssetsPattern
"!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
1.9 では、androidStudio 設定が aar 読み込みをサポートし、新旧の Gradle ビルド ツールの aar 設定が変更されました。
古いバージョンはアプリの build.gradle で構成されています
新しいバージョンは、プロジェクトのルート ディレクトリの build.gradle または settings.gradle というウェアハウス レベルで構成されます。
1.10、アプリの build.gradle で aar を参照
2. uni-app プロジェクトはアプリのリソースをパッケージ化します
2.1 appkey を取得し、開発者プラットフォームにログインして開発者として登録します ( https://dev.dcloud.net.cn/ )
2.2 作成したばかりの uni-app プロジェクトを見つける
2.3 証明書の作成
2.3 証明書を表示し、オフライン パッケージ化キーに使用される SHA1 値をコピーします。
2.4 オフラインパッケージキー管理をクリックすると、各プラットフォーム情報設定にジャンプし、sha1、MD5、SHA256、パッケージ名を設定します。
appid は、androidStudio プロジェクトの applicationId です。
2.5 プラットフォーム情報を送信した後、キーを作成できます
作成後に確認してください AppKey はデバッグモードとリリースモードを区別していませんので、Android でデバッグが必要な場合は AppKey 申請時に証明書を使用する必要があります。
2.6 ユニアプリ リソース パッケージのパッケージ化、ディストリビューション ネイティブ アプリのローカル パッケージ化 - アプリ リソースの生成
パッケージ化の進行状況をコンソールで確認し、成功したら、ディレクトリを開いてディレクトリ全体を ID レベルでコピーします。
2.7 androidStudio アセット アプリ ディレクトリを作成し、アプリ リソース パッケージを androidStudio プロジェクトのアセット ディレクトリにコピーします。注意: dcloud_control.xml の appid は、対応する ID に変更する必要があります。
2.8 androidStudio プロジェクトの app-build.gradle も対応バージョンに変更されました。
3. androidStudio 設定キー
3.1 メイン APP の build.gradle ファイルの Android ノードでアプリケーションの署名情報を設定し、最初に証明書をダウンロードします
3.2 正式な署名とデバッグ署名の設定
signedConfigs { config { keyAlias '__uni__ee84bbf' keyPassword 'slvjh2d2' storeFile file('slvjh2d2.keystore') // パスは相対または絶対です storePassword 'slvjh2d2' v1SigningEnabled true // v1 と互換性あり v2SigningEnabled true // v2 と互換性あり } }
buildTypes { release { signedConfig signedConfigs.config minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { signedConfig signedConfigs.config minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize. txt')、'proguard-rules.pro' } }
3.3 Androidmanifest.xml 設定キー
<?xml version="1.0"coding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas .android.com/tools"><application
...>
<meta-data
android:name="dcloud_appkey"
android:value="申請した Appkey に置き換えます" />
</manifest>
3.4 アプリケーションとマニフェストのアプリケーション エントリを構成するには、unisdk リソースを直接使用するだけです。
マニフェスト ファイル全体は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:name="io.dcloud.application.DCloudApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.UniApp"
tools:targetApi="31">
<!-- 应用入口 -->
<activity
android:name="io.dcloud.PandoraEntry"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale"
android:exported="true"
android:hardwareAccelerated="true"
android:theme="@style/TranslucentTheme"
android:windowSoftInputMode="adjustResize"
tools:ignore="WrongManifestParent">
<intent-filter>
<data android:scheme="hbuilder" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<intent-filter>
<data android:mimeType="image/*" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="dcloud_appkey"
android:value="221fedc4b1f1f2087f96c7120ca8d3b9" />
</application>
</manifest>
4 つのデバッグ実行とパッケージ化
4.1 テーマの競合エラーが発生する
次に、プロジェクト内の style.xml を削除し、マニフェスト ファイル内のアプリケーションのテーマを透明なテーマに変更します。
直す前に
修正後
もう一度実行すると、インストールは成功します。
4.2 インストール後、操作が失敗し、アクティビティ クラス エラーが報告されました。
そこでSDKのリストを見比べてみると、確かに登録されているクラスが1つ減っていたので登録します。
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode"
android:hardwareAccelerated="true"
android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
<action
android:name="android.intent.action.VIEW" />
<data
android:scheme=" " />
</intent-filter>
</activity>
4.3 再度実行すると、正常に実行できることがわかります。
4.4 androidStudio がビルドを選択し、署名付きバンドル//Apk をパッケージ化する
4.5 証明書キーの選択
4.6 署名情報を入力する
4.7 正式なパッケージの作成を選択する
4.8 OK、パッケージ化は成功しました
4.9 公式 APK を携帯電話にインストールして正常に実行でき、オフライン パッケージ化が完了します。
4.10 主な手順
- 新しい uni プロジェクトを作成して uni-appid を生成します
- 開発者プラットフォームはキー証明書を生成し、アプリキーを生成します
- uniプロジェクトのアプリリソースをエクスポートする
- 新しい androidStudio プロジェクトを作成し、aar をコピーして、新しいアセット データを作成します
- アプリのリソースを androidStudio の apps ディレクトリにコピーします
- androidStudio プロジェクトのマニフェスト ファイルは、エントリと appkey を構成し、appid とバージョンを統合します
- デバッグとパッケージ化して公式 APK を生成する