問題タブ [dynamic-feature-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android ナビゲーションの動的機能モジュールのディープリンクが機能しない
単一のアクティビティ構造と動的機能モジュール アプローチを備えたジェットパック ナビゲーション コンポーネントを使用して、アプリケーション モジュールを分離しています。今のところモジュールをオンデマンドにしたくないので、それらはすべてインストール ベース アプリ モジュールにインストールされます。私のアプリ モジュール ナビゲーション XML には、各動的モジュールを参照する 4 つの include-dynamic パーツがあります。
モジュールの一部には接続があります。たとえば、ツール モジュールには、他のモジュールの他のフラグメントを読み取って移動する QR コード機能がありますNavManager
。
問題は、最初のモジュールからディープリンクを呼び出す前に 2 番目のモジュールに入らなかった場合、ディープリンクが見つからないというアプリケーションのクラッシュが発生することですが、2 番目のモジュールに入ってから最初のモジュールからディープリンクを呼び出すと、問題なく正常に動作します。したがって、ナビゲーションが動的モジュールのディープリンクを理解できるようにするために、何かをトリガーする必要があると思います。
次のリンク(制限セクション)の最後で、動的モジュールでディープリンクがサポートされていないことをグーグルが言及していることを私は知っています。
そのため、他のモジュールからのディープリンクを呼び出す前にターゲットモジュールが開いていたときに機能し、以前に開かれていないと機能しないことがわかりました。
android - Android InstantApp と sharedUserId
現在 Play ストアにある1 つのアプリケーションのInstant Appを作成したいと考えています。
そのために、インスタント エクスペリエンスに必要なすべてのものを備えた動的機能モジュールを作成しました。
主な問題は、フィールドandroid:sharedUserId
がメインモジュールで定義されていることです。
私の作業をテストすると、 logcat で次のエラーが発生します。
android.content.pm.PackageParser$PackageParserException: /data/app/vmdl143761699.tmp/base.apk (バイナリ XML ファイルの行 #2): エフェメラル アプリケーションでは sharedUserId は許可されていません
これは、Instant App が sharedUserId フィールドを操作できないことを意味します...
このフィールドを削除すると、Instant App は非常にうまく動作しますが、メイン アプリケーションをインストールしたり、以前のインストール バージョンを更新したりできません。次のエラーが発生します。
E/Finsky: [2] zdp.onReceive(15): xx.xx.xxx.xxx のインストール中にエラー -505: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: パッケージ xx.xxx.xxxx.xxx がユーザー null を変更しようとしました
OK、Google は、アプリケーションを再インストールしないとこのフィールドを削除できないと指定しています... ( https://developer.android.com/guide/topics/manifest/manifest-element#uid )
そのため、sharedUserId フィールドがあり、それを削除できない限り、インスタント アプリを作成できませんでした...
私の問題の解決策はありますか?
android - Instant App、[今すぐ試す] ボタンが Play ストアに表示されない
次の github プロジェクトから始めましたが、これらの例は正しく機能していません。ドキュメントに記載されているように、不足している部品を追加しました。 https://github.com/android/app-bundle-samples/tree/main/InstantApps/urlless https://github.com/googlecodelabs/android-dynamic-features
これが私が読んだドキュメントです。 https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle https://developer.android.com/topic/google-play-instant/feature-module -移行 https://developer.android.com/guide/app-bundle/instant-delivery
シンプルな Hello World インスタント アプリを実装しようとしています。多くのことを試しましたが、今すぐ試すボタンがプレイストアに表示されません。
私のアプリには2つのモジュールが含まれています:
- アプリ
- インスタントアプリ
アプリ モジュールの build.gradle :
私のインスタントアプリモジュールのbuild.gradle
アプリ モジュールの AndroidManifest.xml
Instant-App モジュールの AndroidManifest.xml
署名付きバンドルを生成し、試行ごとに内部テストでアップロードしましたが、機能しませんでした。私もprod環境で試しました。うまくいかない!
アプリモジュールとインスタントアプリモジュールの両方にapplicationId「com.test.myapp」を入れようとしました。android:targetSandboxVersion="2" と android:targetSandboxVersion="1" にしてみました。うまくいかない 。以下に示すように、アプリのバージョン コードがインスタント アプリのバージョン コードより大きくなっています。
clearTextTraffic を削除して追加しました。うまくいかない!
Instant App を有効にしたコードを本番環境に取り入れて、新しいアップグレードされた Instant App バージョンをアップロードするように言われた人もいました。私はそれをしました、それもうまくいきませんでした。
私は今思い出せない多くの組み合わせを試しました。しかし、今すぐ試すボタンは表示されません。見つからない欠落部分は何ですか?
Instant-App モジュールの最大サイズについては、次の 3 つの言い方があります。
- 4メガバイト
- 10メガバイト
- 15 mb ソース コードとドキュメントがあまりにも矛盾していて、github に動作するコードがないのはなぜですか? Play ストアで動作するサンプルが見られない場合、インスタント アプリは死んでいると思います。