我android.enableAapt2 = false在我的gradle.properties文件中使用.将android studio更新为3.1后,我的项目显示警告,更新或删除AAPT2标志,如下所示:
The option 'android.enableAapt2' is deprecated and should not be used anymore.
Use 'android.enableAapt2=true' to remove this warning.
It will be removed at the end of 2018.
Run Code Online (Sandbox Code Playgroud)
正如他们所建议的,在将标志更改为true显示错误之后:
AAPT2 error: check logs for details
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':App:processDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at …Run Code Online (Sandbox Code Playgroud) 在将Android Studio 3.3更新到3.4之后,它会出现错误。出现了一个错误,即AAPT2,这为我提供了一个建议我喜欢这样的错误:
此构建中使用了不推荐使用的Gradle功能,使其与Gradle 6.0不兼容。使用“ --warning-mode all”来显示各个弃用警告。看到
gradle.properties
org.gradle.warning.mode=all
Run Code Online (Sandbox Code Playgroud)
但仍然无法正常工作。
错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeIntroMakerDebugResources'.
> 8 exceptions were raised by workers:
com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.4.0-5326820-windows Daemon #2: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.4.0-5326820-windows Daemon #0: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-3.4.0-5326820-windows …Run Code Online (Sandbox Code Playgroud) Android resource linking failed
Output: /Users/$USER/$PROJECT_DIR/app/src/main/res/layout/main_fragment.xml:21:
error: resource drawable/ic_search_24dp
(aka $PACKAGE_NAME:drawable/ic_search_24dp) not found.
/Users/$USER/$PROJECT_DIR/app/src/main/res/layout/list_item.xml:20:
error: resource drawable/ic_send
(aka $PACKAGE_NAME:drawable/ic_send) not found.
error: failed linking file resources.
Command: /Users/$USER/.gradle/caches/transforms-1/files-1.1/aapt2-
3.2.0-alpha17-4804415-osx.jar/58236ee12e68217ae9214b5ecae3ebc4/aapt2
3.2.0-alpha17-4804415-osx/aapt2 link -I\
/Users/$USER/Library/Android/sdk/platforms/android-27/android.jar\
--manifest\
/Users/$USER/$PROJECT_DIR/app/build/intermediates
/merged_manifests/debug/processDebugManifest/merged/AndroidManifest.xml\-o\
/Users/$USER/$PROJECT_DIR/app/build/intermediates
/processed_res/debug/processDebugResources/out/resources-debug.ap_\-R\
@/Users/$USER/$PROJECT_DIR/app/build/intermediates
/incremental/processDebugResources/resources-list-for-resources-debug.ap_.txt\--auto-add-overlay\--java\
/Users/$USER/$PROJECT_DIR/app/build
/generated/not_namespaced_r_class_sources/debug/processDebugResources/r\
--custom-package\
$PACKAGE_NAME\
-0\
apk\
--output-text-symbols\
/Users/$USER/$PROJECT_DIR/app/build/intermediates/symbols/debug/R.txt\
--no-version-vectors
Daemon: AAPT2 aapt2-3.2.0-alpha17-4804415-osx Daemon #0
Run Code Online (Sandbox Code Playgroud)
Studio Build:
依赖可能是相关的
重现步骤:
1-在drawable文件夹下构建一个包含一些矢量绘图的项目
它指出虽然存在ic_send和ic_search_24dp但却找不到它们.
我有一个简单的android项目。此命令编译资源并构建不带 dex 的 apk:
aapt2 compile project/res/values/strings.xml project/res/layout/activity_main.xml -o project/compiled_res
aapt2 link -o project/apk/unsigned_app.apk -I sdk/platforms/android-28/android.jar --manifest project/src/AndroidManifest.xml -R project/compiled_res/*.flat --java project/src --auto-add-overlay
Run Code Online (Sandbox Code Playgroud)
引用自文档:
但是,生成的 APK 不包含 DEX 字节码并且未签名
...
您可以使用其他命令行工具,例如 d8 将 Java 字节码编译为 DEX 字节码,并使用 apksigner 对 APK 进行签名。
好的。我可以:
d8 project/compiled_classes/com/illuzor/buildtest/*.class --output project/dex
Run Code Online (Sandbox Code Playgroud)
但是如何将这个dex打包成apk呢?aapt2 无法识别classes.dex:
我可以通过压缩将classes.dex 添加到我的apk 中:
zip -uj project/apk/unsigned_app.apk project/dex/classes.dex
Run Code Online (Sandbox Code Playgroud)
对齐并签名后即可运行。但一定是另一种方式,更合适。
升级到 androidx 和 SDK 28 后,我在构建项目时收到以下错误:
.../app/src/main/res/values/styles.xml:90:5-93:13:AAPT:错误:预期引用但得到(原始字符串)#000000。
value/styles.xml 的相关行:
<style name="menu_labels_style">
<item name="android:background">@drawable/fab_label_background</item>
<item name="android:textColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
fab_label_background 资源(以防万一)是:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/black_semi_transparent"/>
<padding
android:left="16dp"
android:top="4dp"
android:right="16dp"
android:bottom="4dp"/>
<corners
android:radius="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud) 我正在尝试为watchduino2创建一个 android 应用程序。. 当我按照提供的步骤操作时,我遇到了错误
AAPT: error: unexpected element <uses-permission> found in <manifest><application>
有人可以解释这个问题吗?也帮我解决它。
我尝试在 docker 容器上运行 android 构建。
我的 dockerfile 的内容在这里:
FROM openjdk:8-jre-alpine
RUN mkdir -p /myapp
WORKDIR /myapp
COPY . .
RUN apk add --update nodejs nodejs-npm
RUN apk add git
RUN apk add zip
RUN apk --no-cache add curl
Run Code Online (Sandbox Code Playgroud)
我创建了一个 docker 镜像并运行它。我在 docker 终端上运行以下命令。
wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
unzip -q sdk-tools-linux-4333796.zip -d Android-sdk
export ANDROID_HOME=/path-to-sdk/Android-sdk
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
yes | sdkmanager --licenses
cd MyApplication && chmod +x gradlew && ./gradlew :app:assembledebug
Run Code Online (Sandbox Code Playgroud)
MyApplication 是 Android Studio 默认的空 Activity 项目。
错误日志在这里:
/gradlew :应用程序:assembledebug
任务 :app:preBuild 最新 …
我将 android studio 从 2.2 更新到 3.1,它总是给我aapt2 error和构建失败。我添加android.enableAapt2=false了 gradle.properties 并且我的项目构建成功并带有警告:
The option 'android.enableAapt2' is deprecated and should not be used anymore.
Use 'android.enableAapt2=true' to remove this warning.
It will be removed at the end of 2018.
最严重的是我无法在我的移动和虚拟设备上运行该应用程序。错误Failed to execute aapt
详细信息:
运行构建
org.gradle..ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':app:transformDexWithInstantRunDependenciesApkForDebug'.
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:139)
at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)
at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:62)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) …Run Code Online (Sandbox Code Playgroud) 我在Android Studio中遇到问题。我正在尝试在Windows上使用它,但是在项目的构建过程中遇到了麻烦。
首先,请注意,我的辅助硬盘上已安装了Android Studio。
当我尝试构建/运行我的项目时,出现以下错误:
Specified AAPT2 executable does not exist:
C:\Users\Rémi\\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-4818971-windows.jar\35960bdffa2420a45dff6ec260c07fa9\aapt2-3.2.0-4818971-windows\aapt2.exe
Run Code Online (Sandbox Code Playgroud)
确实这里没有aapt2.exe。
但是我在这里找到了这个.exe:
H:\Logiciels\AndroidStudioSDK\build-tools\28.0.2\aapt2.exe
Run Code Online (Sandbox Code Playgroud)
和以前的版本在这里:
H:\Logiciels\AndroidStudioSDK\build-tools\27.0.3\aapt2.exe
Run Code Online (Sandbox Code Playgroud)
我试图通过设置文件>项目结构>模块>应用>生成工具版本来更改生成工具版本来解决此问题。此选项为空,我选择了28.0.2,但这没有任何改变。
谢谢阅读。
PS:这个问题不一样。我的错误有所不同,并且google()在我的Grable文件中。
这是我在我的项目中的配置:
在项目的 build.gradle 中,我有
buildscript {
repositories {
google()
jcenter()
}
}
....
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
Run Code Online (Sandbox Code Playgroud)
当我在 Build Output 中使用“Build> Rebuild Project”命令时,我收到此错误:
Execution failed for task ':app:mergeDebugResources'.
Could not resolve all files for configuration ':app:_internal_aapt2_binary'.
Could not download aapt2-4.1.0-6503028-windows.jar …Run Code Online (Sandbox Code Playgroud)