标签: aapt

在为Android项目构建Mono时,"aapt.exe"退出了代码1

我整理了一个相当简单的Mono for Android应用程序,它只是在后台服务中播放"AndroidResource"MP3(复制自Greg Shackles最新的Visual Studio Magazine关于MfA中后台服务的文章).我把代码放在一起,使用我自己的自定义MP3文件,并尝试构建它,只是为了得到这个可爱的错误.

"aapt.exe" exited with code 1
Run Code Online (Sandbox Code Playgroud)

这是错误列表和构建输出日志中的唯一信息.

c# android xamarin.android aapt

40
推荐指数
4
解决办法
2万
查看次数

Android Studio 3.0清单错误:找到未知元素<action>

注意:请不要将此"android.enableAapt2 = false"作为答案发布.这不是一个解决方案.它只是忽略了在运行时没有引起任何问题的真正错误.

解决方案很简单,只是在清单文件中的intent过滤器之外删除了错误放置的操作标记.

有一个由Android Studio 2.3构建的应用程序很好.更新Android Studio 3.0 Stable后,开始出现此错误并无法构建我的项目.

这是我的manifest.xml

<application
    android:name=".ApplicationClass"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <!--other unrelated stuff-->

    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

    <receiver
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="com.xxx.xxx" />
        </intent-filter>
    </receiver>
</application>
Run Code Online (Sandbox Code Playgroud)

错误显示此行:

<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
Run Code Online (Sandbox Code Playgroud)

如果我评论/删除此动作标记行,项目构建正常但是它是必要的GCM,我无法删除它.

当您看到日志时,主清单文件中不会发生错误,发生在/ build/intermediates/manifests/full/debug /AndroidManifest.xml

尝试清洁,重建,禁用即时运行.有什么解决方案吗?

错误日志:

/THE_PROJECT_PATH/app/build/intermediates/manifests/full/debug/AndroidManifest.xml
Error:(99) error: unknown element <action> found.
Error:(99) unknown element <action> found.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 …
Run Code Online (Sandbox Code Playgroud)

android android-manifest aapt

40
推荐指数
2
解决办法
5万
查看次数

Android - 内部元素必须是资源引用或空

错误详情

AGPBI: {"kind":"error","text":"error: \u003citem\u003e inner element must either be a resource reference or empty.","sources":[{"file":"...\\app\\src\\main\\res\\values\\ids.xml","position":{"startLine":2,"startColumn":4,"startOffset":57,"endColumn":61,"endOffset":114}}],"original":"","tool":"AAPT"}
:app:mergeDebugResources
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
:app:mergeDebugResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details.
Run Code Online (Sandbox Code Playgroud)

资源文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item name="tv_deviceName" type="id">tv_deviceName</item>
</resources>
Run Code Online (Sandbox Code Playgroud)

建立环境

  • Android Studio 3.1.4
  • minSdkVersion = 21
  • targetSdkVersion = 28
  • compileSdkVersion = 28
  • buildToolsVersion ="28.0.2"

android android-layout aapt android-gradle-plugin

39
推荐指数
4
解决办法
3万
查看次数

Android工作室找不到aapt

嗨,我在编译时遇到问题,我收到此错误:

Gradle:任务执行失败':ElectronicComponentInventorySearch:mergeDebugResources'.

java.io.IOException:无法运行程序"/ opt/android-studio/sdk/build-tools/android- 4.2.2/aapt":error = 2,没有这样的文件或目录

当我使用locate时:/opt/android-studio/sdk/build-tools/android-4.2.2/aapt

在我尝试任何事情之前,我确保将整个android-studio目录列入我的帐户,并将所有内容的权限设置为775.

这是怎么回事?

32bit-64bit aapt android-studio

37
推荐指数
2
解决办法
2万
查看次数

无法使用Android Studio构建Android项目 - Gradle 1.7

我在使用Gradle和Android Studio时遇到了很多问题.

在项目中的任何资源中进行更改都可以在编译期间随机提供异常,这是我在Android Studio中看到的:

Gradle: Error while executing aapt command
Gradle: Execution failed for task ':App Code:processReleaseResources'.
Run Code Online (Sandbox Code Playgroud)

这就是我看到手动执行Gradle的原因:

"/Applications/Android Studio.app/sdk/tools/templates/gradle/wrapper/gradlew" asD
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:App Code:preBuild UP-TO-DATE                                 
:App Code:preDebugBuild UP-TO-DATE  
:App Code:preReleaseBuild UP-TO-DATE  
:libraries:facebook:compileLint             
:libraries:facebook:copyReleaseLint UP-TO-DATE  
:libraries:facebook:mergeReleaseProguardFiles UP-TO-DATE  
:libraries:facebook:packageReleaseAidl UP-TO-DATE  
:libraries:facebook:preBuild UP-TO-DATE  
:libraries:facebook:preReleaseBuild UP-TO-DATE  
:libraries:facebook:prepareReleaseDependencies             
:libraries:facebook:compileReleaseAidl UP-TO-DATE  
:libraries:facebook:compileReleaseRenderscript UP-TO-DATE  
:libraries:facebook:generateReleaseBuildConfig UP-TO-DATE  
:libraries:facebook:mergeReleaseAssets UP-TO-DATE  
:libraries:facebook:mergeReleaseResources UP-TO-DATE  
:libraries:facebook:processReleaseManifest UP-TO-DATE  
:libraries:facebook:processReleaseResources UP-TO-DATE  
:libraries:facebook:generateReleaseSources …
Run Code Online (Sandbox Code Playgroud)

android gradle aapt android-studio

35
推荐指数
3
解决办法
6万
查看次数

在正确的道路上找不到

我刚刚更新了ADT,而不是SDK,现在我只在一个项目中遇到了问题,我找不到了

Error executing aapt. Please check aapt is present at /opt/android/platform-tools/aapt
Run Code Online (Sandbox Code Playgroud)

路径是正确的,我检查了两次以上.

-rwxrwxrwx 1 martin martin 3,5M 2010-12-08 10:41 /opt/android/platform-tools/aapt
Run Code Online (Sandbox Code Playgroud)

我可以通过控制台启动aapt,权限是777,我重新启动eclipse,关闭/重新打开项目,重新启动adb,最后我的Ubuntu.

一些想法为什么这可能只发生在一个项目?

eclipse android aapt

33
推荐指数
6
解决办法
6万
查看次数

在将APK上传到Play商店时获取"'android:icon'属性:属性不是字符串值"错误

背景

经过这么多小时的空闲时间后,我准备将我的第一个应用程序发布到游戏商店,但遗憾的是我在上传已签名的应用程序时遇到了困难.

我已经使用我创建的密钥库(所有这些都通过Eclipse和ADT)成功导出了应用程序,因此我将已签名的APK上传到Play商店(此处).

问题

我一直收到这条消息:

上传失败您的APK无法使用'aapt dump Badging'进行分析.错误输出:无法运行aapt转储标记:W/ResourceType(14856):获取资源号为0x01080049的值时没有已知包错误获取'android:icon'属性:属性不是字符串值

因此:

在此输入图像描述

应用程序本身在真实设备上运行良好,正在使用的图像文件是android-assets-studio网站使用的普通PNG文件.

我试过的

我在这里搜索了StackOverflow并发现了很多关于它的帖子(这里).我读了很多,并尝试了下一步,但没有任何帮助:

  1. 将应用程序图标放在不同的文件夹("drawable","drawable-mdpi",...甚至"drawable-xxxhdpi")中,具有多种组合(从每个文件夹中放入/删除).

  2. 在"应用程序"标记和启动器活动标记上设置标签,图标和主题.

  3. 更改图像文件名和文件本身(将其替换为默认的应用程序图标).

  4. 清理项目.

  5. 检查Lint消息.

  6. 更新ADT(至22.3.0.v201310242005-887826),Eclipse(至Kepler Service Release 1),SDK工具(至22.3),SDK构建工具(至19.0.1).一切都是最新的官方版本.

  7. 检查是否没有使用双jar文件(多个库上不存在jar文件,特别是如果它有不同的版本).

  8. 尝试将strings.xml放入"res/values-en"而不是"res/values"

  9. 尝试将"android:value"属性添加到清单上的所有元数据标记(由Google建议).它没用.事实上,在我读过的所有教程中,我从来没有从AppWidget看到过这样的要求,所以我认为不需要它.

  10. 尝试了aapt命令:

    aapt dump badging
    
    Run Code Online (Sandbox Code Playgroud)

这向我展示了游戏商店显示的相同内容(我已经用XXX替换了真正的包名和应用名称):

application: label='XXX XXX' icon='res/drawable-mdpi/app_icon.png'
launchable-activity: name='XXX.XXX.XXXActivity'  label='XXX XXX' icon='res/drawable-mdpi/app_icon.png'
W/ResourceType( 9132): No known package when getting value for resource number 0
x01080049
ERROR getting 'android:icon' attribute: attribute is not a string value
Run Code Online (Sandbox Code Playgroud)

即使文件存在于此文件夹中,也会发生这种情况.

这是清单.再次,用XXX替换了活动和应用程序的真实路径和名称.我可以向你保证路径是正确的,因为应用程序可以正常运行.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="XXX.XXX"
    android:installLocation="auto"
    android:versionCode="2"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="19" …
Run Code Online (Sandbox Code Playgroud)

android apk aapt google-play

26
推荐指数
2
解决办法
8703
查看次数

从android框架覆盖布局xml

问题

我想重写从Android的命名空间,例如布局文件R.layout.popup_menu_item_layout(这是从代码中引用com.android.internal.R.layout.popup_menu_item_layout).通过说覆盖,我假设xml在项目中声明一个文件,该文件将优先于框架拥有的布局.

请注意,这只是一个示例布局,因此问题涉及sdk/platforms/android-XX/data/res/layout目录中存在的每个布局.

我试过的

工具:覆盖

有一个未记录的 tools:override标签可用,它会覆盖特定的资源.请参阅答案以获取示例,该示例将覆盖设计支持库中的值,而不是来自Android框架的值.

应用于tools:override="true"布局的根标签不会生效.


XML布局参考 - refs.xml

正如在描述这个帖子,声明refs.xml文件/values/与以下内容目录:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="layout" name="activity_main">@layout/activity_second</item>
</resources>
Run Code Online (Sandbox Code Playgroud)

将参考activity_second.xml一次activity_main.xml使用.有一个答案建议使用这种技术来替代Snackbar布局.

这也不会生效.

有没有合法的方法来覆盖/替换android包中的布局文件?

xml android android-layout aapt android-resources

26
推荐指数
2
解决办法
4194
查看次数

错误:无法运行aapt

当我编译一个Android应用程序时(我尝试使用sdk中的示例应用程序).我收到此错误:

>Error executing aapt: Cannot run program "/home/roel/projects/sdk/build-tools/18.0.1/aapt": >error=2, No such file or directory: error=2, No such file or directory    KeyChainDemo        >line 1 Android ADT Problem
Run Code Online (Sandbox Code Playgroud)

但是aapt在那个地方?

>[roel@archUSB 18.0.1]$ ls /home/roel/projects/sdk/build-tools/18.0.1/

>NOTICE.txt  aidl     dx   libLLVM.so  libbcinfo.so  llvm-rs-cc    source.properties
>**aapt**        dexdump  lib  libbcc.so   libclang.so   renderscript
Run Code Online (Sandbox Code Playgroud)

注意:我也得到错误"R无法解决",但我很确定当我解决问题1时,我也解决了这个问题

linux android adt aapt

25
推荐指数
5
解决办法
2万
查看次数

ADT 22 - 升级后缺少aapt.exe

在工作中,我需要使用maven与Android.

maven使用appt.exe进行自己的编译过程.

自从我升级到ADT 22后,maven说它无法找到这个文件,而且它是正确的 - 文件已从"...\platform-tools"中删除.

我试图卸载并重新安装sdk管理器和ADT,但它没有帮助.

我该怎么做才能解决这个问题?

为什么会消失?


编辑:

目前,我使用了一种解决方法,即将所有旧的"平台工具"文件复制(不替换)到当前文件中.它似乎工作,但也许它可能会导致问题.

android adt maven aapt

23
推荐指数
2
解决办法
2万
查看次数