我遇到了一种奇怪的情况,两次困扰着我。
我的主模块中有清单-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>
当我尝试启动我的应用程序时,它看起来像
我得到一个错误:
我尝试直接指定默认活动,但AS表示该活动未在清单中声明。
Invalidate Caches and Restart
AS和Rebuild
项目,但它也没有帮助我。因此,我浪费了所有可能的解决方案。谁知道如何解决?
答案 0 :(得分:5)
我不知道为什么可以将其链接到此问题,但是此问题的原因来自Kotlin编译器。当我启动Kotlin编译器选项时,我看到了警告,并且在谷歌搜索了几秒钟后,发现了一个此处描述的答案-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中,我将其删除并重新安装。此后一切正常。
答案 1 :(得分:0)
答案 2 :(得分:0)
通常会在您的Activity类不是公开的而是默认的(当您未指定任何访问修饰符时)发生,是public class SplashScreen
吗?
如果您不将所有活动分类都设为公开,那么在某些设备上它可能会崩溃。
答案 3 :(得分:0)
当我将清单allowBackup
从true
更改为false
android:allowBackup="false"
时,这发生在我身上,然后我用谷歌搜索找到了这个答案,我发现他也有allowBackup定义为false
。现在,当我改回true
时,一切正常。看起来很有线,我没有明确的解释。