Android卡猜测游戏抛出MainActivity未声明其他错误

时间:2017-07-19 17:27:22

标签: android

我尝试构建并运行以下sample,但我遇到了几个错误:

  

1-运行MainActivity时出错:AndroidManifest.xml中未声明活动'MainActivity'   2-错误:(553,69)不允许字符串类型(在'activity_horizo​​ntal_margin',值为'')。
  3-错误:任务':app:processDebugResources'的执行失败。>   com.android.ide.common.process.ProcessException:无法执行aapt

有人可以告诉我我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

第一个错误(“活动'MainActivity'未在AndroidManifest.xml中声明”)意味着它的内容。项目中有一个名为AndroidManifest.xml的文件,您必须在此文件中声明所有Activity。这是Android Studio为新项目创建的清单:

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

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

</manifest>

需要注意的两件重要事项:

1)package标记的<manifest>属性(在本例中为第3行)必须与您用于Java代码的包名称匹配。

2)<activity>必须有MainActivity标记(请参阅示例中的第12行)。

第二个错误(“不允许字符串类型('activity_horizo​​ntal_margin')”)在没有代码的情况下更难调试,但这是一个猜测。您链接的页面包括以下两行:

android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin"

您必须确保(a)您没有从这些中移除@dimen/前缀,并且(b)您已声明名为dimen的{​​{1}}资源。通常可以通过创建activity_horizontal_margin来完成,内容类似于:

res/values/dimens.xml

您还可以使用就地值替换这些<resources> <dimen name="activity_horizontal_margin">16dp</dimen> </resources> 资源引用,如下所示:

dimen

答案 1 :(得分:0)

  

1-运行MainActivity时出错:AndroidManifest.xml中未声明活动'MainActivity'

每个Android应用都需要manifests/AndroidManifest.xml。它包含有关应用程序的一般信息,例如应用程序的名称,图标和(导致错误的原因)应用程序中使用的所有活动的列表。在此文件“application”标签中,您需要插入:

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

这会将活动“MainActivity”声明为启动应用时要启动的活动。

  

2-错误:(553,69)不允许字符串类型(在'activity_horizo​​ntal_margin',值为'')。

正如Ben P.提到的那样,指南中的Main.xml引用了一个名为dimen的{​​{1}}资源。要解决此错误,您必须在activity_horizontal_margin文件中声明它,或者用一些显式值替换该代码。

  

3-错误:任务':app:processDebugResources'的执行失败。&gt; com.android.ide.common.process.ProcessException:无法执行aapt

可能会发生此错误,因为它无法找到所需的资源(如错误2中所示)。由于另一个缺少资源,同样的错误已经发生here 。因此修复其他2个问题也应该解决这个错误。