Ошибка: активность по умолчанию не найдена, но она объявлена - PullRequest
0 голосов
/ 15 декабря 2018

У меня странная ситуация, которая случилась со мной дважды.

У меня есть манифест внутри моего основного модуля - igs_main

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:tools="http://schemas.android.com/tools" package="com.example">

    <application
            android:name=".CommonApplication"
            android:allowBackup="false"
            android:label="@string/app_name"
            android:hardwareAccelerated="true"
            android:networkSecurityConfig="@xml/network_security_config"
            android:theme="@style/AppTheme"
            android:supportsRtl="false"
            tools:replace="android:supportsRtl,android:allowBackup"
            tools:ignore="GoogleAppIndexingWarning, UnusedAttribute, RtlSupport">

        <activity android:name=".auth.view.SplashScreen">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

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

</manifest>

Когда я пытаюсь запустить свое приложение, оно выглядит так

enter image description here

И я получаю сообщение об ошибке:

enter image description here

Я пыталсяуказать непосредственно мою активность по умолчанию, но AS сказал, что это действие не объявлено в манифесте.

enter image description here

Затем я попытался Invalidate Caches and Restart AS и Rebuild проект, но он также не помог мне.

Итак, я теряю все возможные решения.Кто знает как это можно исправить?

Ответы [ 3 ]

0 голосов
/ 17 декабря 2018

Обычно это происходит, когда ваш класс Activity не является общедоступным, а используется по умолчанию (если вы не указываете никаких модификаторов доступа), посмотрите, что это public class SplashScreen?Если вы не сделаете все классы активности общедоступными, если вы этого не сделаете, на некоторых устройствах это может привести к сбою.

0 голосов
/ 19 декабря 2018

Я не знаю, почему это может быть связано с этой проблемой, но причина этой проблемы исходит от Kotlin Compiler.Когда я запустил параметры компилятора Kotlin, я увидел предупреждение, и после нескольких секунд поиска в Google я нашел ответ, который описан здесь - https://stackoverflow.com/a/50912853/4969827.

После изменения useProjectSettings на true все стало работать правильно!

Чтобы предотвратить потерю информации, я скопировал и вставил сюда оригинальный фрагмент.

<facet type="kotlin-language" name="Kotlin">
  <configuration version="3" platform="JVM 1.6" useProjectSettings="true">
    <compilerSettings />
    <compilerArguments>
      <option name="destination" value="$MODULE_DIR$/build/tmp/kotlin-classes/debug" />
      <option name="noStdlib" value="true" />
      <option name="noReflect" value="true" />
      <option name="moduleName" value="app_debug" />
      <option name="addCompilerBuiltIns" value="true" />
      <option name="loadBuiltInsFromDependencies" value="true" />
      <option name="languageVersion" value="1.2" />
      <option name="apiVersion" value="1.2" />
      ...
    </compilerArguments>
  </configuration>
</facet>

ВЫ ДОЛЖНЫ ПРОЧИТАТЬ ТЕКСТ НИЖЕ

Однако проблемы продолжаются.Реже, но пришли.Однажды я редактировал XML-файлы и обнаружил сломанный APPT.Так что проблема была в SDK, который я удалил и снова установил.После этого все отлично работает.

0 голосов
/ 15 декабря 2018

В своем вопросе вы четко упомянули, что "У меня есть манифест внутри основной модуль" , но вы используете igs_main, например:

Вам нужно изменить его на app модуль, как показано ниже

И затем попытаться запуститькод.

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