我尝试构建并运行以下sample,但我遇到了几个错误:
1-运行MainActivity时出错:AndroidManifest.xml中未声明活动'MainActivity' 2-错误:(553,69)不允许字符串类型(在'activity_horizontal_margin',值为'')。
3-错误:任务':app:processDebugResources'的执行失败。> com.android.ide.common.process.ProcessException:无法执行aapt
有人可以告诉我我错过了什么吗?
答案 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_horizontal_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_horizontal_margin',值为'')。
正如Ben P.提到的那样,指南中的Main.xml
引用了一个名为dimen
的{{1}}资源。要解决此错误,您必须在activity_horizontal_margin
文件中声明它,或者用一些显式值替换该代码。
3-错误:任务':app:processDebugResources'的执行失败。&gt; com.android.ide.common.process.ProcessException:无法执行aapt
可能会发生此错误,因为它无法找到所需的资源(如错误2中所示)。由于另一个缺少资源,同样的错误已经发生here 。因此修复其他2个问题也应该解决这个错误。