我正在玩Android的即时应用程序。我安装了所有正确的包,并厌倦了用即时应用程序支持创建新的应用程序(在打包新应用程序时勾选即时应用程序的框)。问题是我总是遇到编译工具的问题。其他人有这个问题吗,并且能够找到任何解决办法。
我的环境:
错误是:
Error: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: AAPT2 compile failed:
aapt2 compile -o /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/res/merged/androidTest/debug /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml
Issues:
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:520 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:521 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:568 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:594 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:595 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:597 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:598 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:599 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:600 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:601 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:602 invalid dimen
- ERROR: /home/simonp/Work/201705_InstantApp/InstantAppTest/feature/build/intermediates/incremental/mergeDebugAndroidTestResources/merged.dir/values/values.xml:603 invalid dimen
:feature:mergeDebugAndroidTestResources FAILED
该行包含(520):
<item format="float" name="abc_disabled_alpha_material_dark" type="dimen">0.30</item>
希望我能为你提供足够的信息来解决这个问题。非常感谢。
通过在渐变中添加以下行,我解决了这个问题。属性文件
android.enableAapt2=false
解决方法是将开发机器切换到使用“”的区域设置作为小数点。
可以通过以下方式进行更改:
下面提到四种不同的解决方案:A、B、C和D;选择一个适合你的:
这是修复Android Studio的通用方法(见下文)的唯一Ubuntu替代方案。请注意,您可能仍然希望实现关于修复shell的部分,甚至可能将任何修改还原到studio。sh
以完全确认此修复。
我厌倦了修补我的工作室。sh
对于每一个金丝雀更新,所以我想出了一个更好的解决方案,消除了这个步骤。它在Ubuntu上运行,只需要创建一个。设置有问题的病态环境变量的桌面启动器。
>
准备您的本地图标和应用程序目录,以防不存在:
mkdir -vp ~/.local/share/icons ~/.local/share/applications
创建一个Android Studio 3图标,使你的启动器从默认图标中脱颖而出,并将其保存到~/。local/share/icons/android-studio-3。png
。或者你也可以用我在原稿上摩擦一块奶酪制作的(~/opt/android-studio-3/bin/studio.png
):
通过复制并粘贴到shell中创建Android Studio 3启动器文件:
cat <<-EOF > ~/.local/share/applications/android-studio-3.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio 3
Icon=android-studio-3
Exec=env LC_NUMERIC="en_US.UTF-8" opt/android-studio-3/bin/studio.sh "%f"
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-studio
EOF
使其可执行:
chmod +x ~/.local/share/applications/android-studio-3.desktop
现在是棘手的部分。理想情况下,您应该能够从Dash中找到、开始并创建Android Studio 3的短片:
但是就我个人而言,我几乎总是很难让Ubuntu检测到我的新文件或更改的桌面文件。一个解决方案是退出并再次登录。如果有人知道如何强制重新扫描,请告诉我!
这里有一个简单、优雅、半永久性的解决方案:只需修改Android Studio的启动脚本即可更改其自身的区域设置:
>
编辑studio。sh
例如~/opt/android studio/bin/studio。sh
或任何安装路径。
在文件顶部的某个地方,在#下面/bin/sh
在第一行代码出现之前,添加以下内容:
LC_NUMERIC=“en_US.UTF-8”。
下面是我的studio.sh
的顶部部分:
#!/bin/sh
#
# ---------------------------------------------------------------------
# Android Studio startup script.
# ---------------------------------------------------------------------
#
LC_NUMERIC="en_US.UTF-8"
message()
{
TITLE="Cannot start Android Studio"
...
重启Android Studio
当您稍后升级您的Android Studio安装时,它将检测到您已经修改了studio.sh
。您应该让安装程序替换文件,然后按照上述方法再次执行补丁。最后重启Android Studio,您将再次准备好。其他解决方案不受此影响。
使用gradlew
从外壳构建也需要应用修复。这只会影响shell,而不会影响Android Studio。挑一个:
>
LC_NUMERIC="en_US. UTF-8".
或者,要使其永久用于项目,请编辑项目根目录中的gradlew
文件,并在顶部某处添加以下内容:
LC_NUMERIC=“en_US.UTF-8”
比如这里:
#!/usr/bin/env bash
################################################################################
##
## Gradle start up script for UN*X
##
################################################################################
LC_NUMERIC="en_US.UTF-8"
# Add default JVM options here. You can al...
DEFAULT_JVM_OPTS=""
APP_NAME="Gradle"
...
当然,您也可以通过使用别名gr
添加全局和永久修复:
cat <<EOF>>~/.bash_aliases
# Fixing Android Studio 3 Canary bug https://stackoverflow.com/a/44304075/2412477
alias gr='LC_NUMERIC="en_US.UTF-8" ./gradlew'
EOF
请注意,这是在Ubuntu上添加bash shell别名的方式;如果你在不同的操作系统上,也许你应该附加到~/. bashrc或~/. file中。
然后启动一个新的shell,现在不再调用/gradlew
使用新别名gr
:
gr清理assDebug
#2的明显缺点是必须手动将其应用于所有项目。我认为这样做的好处是,当安装了新的gradlew时,它会自动被覆盖,就像studio一样。sh
被替换,因此您可以测试错误是否已修复=)
就我个人而言,我不会这么做,但为了完整起见,我添加了它,因为这绝对是一种让appt2停止给出错误的方法。将这一行添加到你的渐变中。属性
:Android。enableApt2=false
我在Arch Linux上使用Android Studio3.0Canary3,我正在玩它,试图制作一个小应用程序。我做了一些研究后,张贴的问题,但没有一个解决方案,我找到对我不工作。任何帮助都将不胜感激。谢谢
尝试使用aapt2而不是aapt。编译似乎还可以,但我有一个问题: 这是清单,正如你所看到的属性 android:compileSdkVersion 明确定义: 怎么会呢? 编辑:在AndroidManifest.xml.使用xmllint没有运气。然后我刚刚从清单中删除了android: compileSdkVersion。它链接成功了。我很困惑。
我试图在eclipse中用maven构建一个spark应用程序,但我遇到了一个编译失败。我修正了系统变量,给它提供到JDK的路径,而不是到JRE的路径,如下所示: 并且我将这个字符串添加到变量中,但是没有起作用。因此,我尝试不使用如下但没有新内容。 因此,我尝试通过eclipse来指出我的JDK,如下所示:,我也选择了JDK,但这个解决方案也不起作用,所以我决定使用cmd来修复它: 我检查了,结果
在两台不同的笔记本电脑上使用maven构建相同的项目。一个是运行良好,一个是显示错误。 状态:两个系统的配置相同。 使用的命令:mvn clean install-DskipTests=true 错误: 我什至尝试删除所有内容,例如再次创建. m2文件夹。
我尝试匹配这个表达式: * ^X-Spam-Flag:是的 我用这个代码: 但是我有这个错误: PHP警告:preg_match():编译失败:在偏移量0处没有任何重复 regex和*和^有问题,但我能纠正吗?
2017-05-23T15:14:03.19+0000[STG/17]出---->下载的应用程序包(59M)2017-05-23T15:14:03.36+0000[STG/0]出站失败:Buildpack编译步骤失败2017-05-23T15:14:03.36+0000[STG/0]错误2017-05-23T15:14:03.46+0000[API/0]错误遇到错误:应用程序在Buildpack编