Создать мгновенное приложение для существующего приложения - PullRequest
0 голосов
/ 16 января 2019

У меня есть приложение, которое я хочу создать для него instantApp. Я успешно применяю изменения к своему проекту, и он успешно собирается.

Но есть 2 проблемы: -Я не смог запустить приложение, и ошибка:

Default Activity not found

enter image description here

И еще одна проблема заключается в том, что при запуске instantApp я вижу сообщение об ошибке Google Play Store has stoped

enter image description here

У меня есть app и два Instant App Feature Module, которые base и feature.

А вот мой манифест:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
          package="instantapp.samples.yaramobile.com.base.feature">

    <application tools:ignore="GoogleAppIndexingWarning">

        <activity android:name=".presenter.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <intent-filter
                    android:autoVerify="true"
                    android:order="1">
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.BROWSABLE"/>
                <category android:name="android.intent.category.DEFAULT"/>

                <data android:host="test.com"/>
                <data android:pathPattern="/"/>
                <data android:scheme="https"/>
                <data android:scheme="http"/>
            </intent-filter>
        </activity>

        <activity android:name=".presenter.display.DisplayActivity"/>
        <activity android:name=".presenter.display.PermissionActivity"/>
    </application>
</manifest>

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Я наконец нашел проблемы и решения:

Проблема была в зависимости AppCompact:

implementation 'androidx.appcompat:appcompat:1.0.2'

произошел конфликт, и мне пришлось использовать api вместо implementation

api 'androidx.appcompat:appcompat:1.0.2'

и был еще один конфликт с зависимостями комнаты:

 implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
 kapt 'androidx.lifecycle:lifecycle-compiler:2.0.0'
 implementation 'androidx.room:room-runtime:2.1.0-alpha02'
 kapt 'androidx.room:room-compiler:2.1.0-alpha02'

Мне тоже пришлось заменить на api:

 api 'androidx.lifecycle:lifecycle-extensions:2.0.0'
 kapt 'androidx.lifecycle:lifecycle-compiler:2.0.0'
 api 'androidx.room:room-runtime:2.1.0-alpha02'
 kapt 'androidx.room:room-compiler:2.1.0-alpha02'

Другая проблема была о databinding Я только что добавил databinding в свой базовый модуль, но он также необходим в установленном модуле:

  dataBinding{
        enabled = true
    }

и снова около room: Мне пришлось добавить провайдера в manifest базового модуля, потому что у меня была ошибка в манифесте слияния в моем installed модуле из-за этих провайдеров, которые используются в room зависимостях:

<provider
        tools:replace="android:authorities"
        android:name="androidx.lifecycle.ProcessLifecycleOwnerInitializer"
        android:authorities="codenevisha.ir.mvvmwithdagger.base.lifecycle-process"
        android:exported="false"
        android:multiprocess="true"/>

не забудьте заменить этого провайдера добавлением tools:replace="android:authorities"

Надеюсь, что эти рекомендации вам тоже.

0 голосов
/ 16 января 2019

Исходя из этого потока , если вы видите, что ошибка возникает после обновления версий IntelliJ IDEA или Android Studio или после создания нового APK, вам может потребоваться обновить кэш IDE.

File -> Invalidate Caches / Restart...

Это также означает, что у вас нет активности, объявленной в AndroidManifest.xml, которая помечена как основная активность, запускаемая при запуске приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...