Ant Build AAPT Crunch正在从图书馆资源图像中剥离draw9信息
我有一个正在使用库项目的项目.图书馆项目具有绘制9(9.png)文件,并且在通过蚂蚁构建APK时,它将在可缩放和可填充区域上删除Draw9信息.结果是该应用程序只是在不使用draw9信息的情况下伸展图像. 在Android的build.xml 中 这是在调用Crunch,它更新了预处理的PNG缓存(有人知道该缓存位于何处?). Crunch在AAPT中运行一个名为Crunch的任务.但是我找不到有关论点的任何信息.它似乎是从Res文件夹中获取文件并将其放入OUT RES文件夹中(默认情况下bin/res). 因此,我什至清除了任务,以免运行,并且仍然没有正确伸展图像.然后,我将PNG文件直接复制到OUT RES文件夹中替换为同样的问题.我什至尝试在这些任务之间进行清洁,并且也遇到了同样的问题.这使我相信缓存在项目区域之外放置,但是在哪里? 请注意,当我用日
0 2024-02-26
编程技术问答社区
在构建安卓apk时,如何向aapt传递参数?
我正在使用Linux上的ANT构建APK(不使用Eclipse),并且我正在尝试找到一种简单的方法来在压缩资产之间而不是在不使用Eclipse之间切换,以使我的巨大数据库未压缩为 http://ponystyle . 我看到可以通过指定aapt -0 db之类的内容来执行此操作,但是我找不到有关如何编辑Ant与AAPT互动方式的信息.还是我必须自己运行AAPT?我该怎么办? 解决方案 它是Android的build.xml(您会在SDK,工具和ANT下找到它,在构建时执行AAPT. 找到您的build.xml,然后用以下目标替换" -package-resources"目标.我很确定(目前无法对其进行测试),您可以用" -dcompression.disabled = set set"在使用ant或compression.disabled.disabled.disabled = set中打开和关闭压缩.properties-file.
0 2024-02-26
编程技术问答社区
Ant脚本中的aapt元素的文档
我正在为Android构建系统制作一些ANT脚本,并遇到了一个元素来称呼AAPT.我看到了很多 的例子 exec operutable =" $ {aapt}" 但是从main_rules.xml文件中出来的文件使用其他格式
0 2024-02-26
编程技术问答社区
重新打包APK文件以包含自定义资产--使用什么构建工具?
update :这是一个旧帖子,下面的引用aapt版本将过时. 基于以前的反馈,我将自定义文本字段存储在我的应用的资产目录中. 我将使用资产文件中的默认用户详细信息编写应用程序,并且客户端希望为每个用户重建应用程序,包括资产文件中的用户详细信息. (我知道这是方法有一些严重的缺点,但是客户仍然热衷于这样做 - 请参阅 APK文件中的嵌入登录详细信息,每个用户(或其他选项)不同(或其他选项?)) 这个问题涉及我在重建APK文件时遇到的麻烦,一旦我解开了它,并更新了自定义资产文件.我很确信我缺少一些很小的东西,但是,我在这些方法上发现的文档和帖子对新来者没有足够的帮助. AAPT- Android SDK工具:不幸的是,Android Docs上的"使用AAPT"上的Android文档非常有限.控制台命令-HELP显示更多信息.尝试使用它仅将文件添加到test.apk时,它最终会删除原始文件,并创建一个新的文件test.apk.zip,仅包含我尝试添加的文件.我
0 2024-02-26
编程技术问答社区
对Android资源的数量有什么限制?
我们的一个应用程序之一有几千个小型数据文件,我们当前将其作为资产包装.如果我们可以将它们包装为原始资源,这将有助于我们的代码.我试图跟踪应用程序对每种类型的资源数量的限制,但是我还没有找到任何文档.有谁知道Android资源数量有多少限制? 解决方案 经过大量实验,似乎您可以为每种资源类型拥有多达16位的资源(65,536个资源). (可能还有其他供将来使用的位,这将减少最大资源数量,但我找不到任何证据.)如果有人可以提供权威答案,那将是很好的,但是一年后,我' m放弃. edit(请参阅下面的@b t ):基于 hackbod的这个答案实际上,可用的16位,因此任何一种类型的最多可以拥有65,535个资源(不是65,536,因为零是零可用).另外,请注意,此限制仅适用于单个配置的资源数量(位置,像素密度等).不同配置的资源的变化共享相同的资源ID,并且不构成计数.因此,您实际上可以拥有任何一种类型的65,535个资源(例如布局或字符串),而不是任何一种配置. 其他解
0 2024-02-20
编程技术问答社区
迁移到Android Studio 3.0后,可绘制的'png'在调试构建中没有被压缩。
在发行构建类型中压缩的可绘制物,但在调试构建类型中不压缩. Android Studio 3.0 Build #AI-171.4408382, built on October 20, 2017 JRE: 1.8.0_152-release-915-b01 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Linux 4.10.0-38-generic 在以前的版本中始终被压缩 如何配置调试构建以压缩png可抽签? 解决方案 其原因记录在这里 这是报价 如果您使用的是Android插件3.0.0或更高,则PNG Crunching为 默认情况下仅用于"调试"构建类型 我通过在build.gradle中添加crunchPngs true来解决我的问题:build.gradle: buildTypes { debug { minifyEnabled false
0 2024-02-19
编程技术问答社区
android studio 3.0 beta4中的AAPT2 gradle问题
错误:详细信息的日志 我们已经添加了android.enableAapt2 = false in gradle.properties file 解决方案 对我来说,无需将android.enableAapt2=false添加到我的 gradle.properties .对我的解决方案是确保在我的gradle构建文件中我的compileSdkVersion设置为26,buildToolsVersion设置为26.0.2,targetSdkVersion设置为26. 注意 :在我的构建文件中,我必须对所有目标进行此检查,并编译包括产品口味在内的SDKversions: 移动 电视 我正在使用Android Studio 3.0.1. 其他解决方案 对于仍然存在问题的任何人,即加载演示等或导入项目.您需要确保(就像其他所有人所说的一样): 您将以下语句添加到您的gradle.properties文件 android.enableAapt2
2 2024-02-19
编程技术问答社区
错误:右边界的布局边界必须从边缘开始
我的项目昨天运行良好;但是,当我今天将Android Studio更新为3.0时,默认情况下可以启用AAPT2.我有以下错误: Error:layout bounds on right border must start at edge. Error:Execution failed for task ':app:mergeDevDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 我打开了日志文件,但找不到线索.当我Google Google Error:layout bounds on right border must start at edge询问有关9个斑点的问题时.我的项目中也有大约10个9点.但是我不确定有什么问题.我知道我可以禁用AAPT
0 2024-02-19
编程技术问答社区
用Android Studio编译错误
我正在尝试使用Linux中的Android Studio编译Android应用程序.但是我会遇到以下错误: 错误:org.gradle.process.internal.execexception:出现问题启动过程'命令'/home/user/android/sdk/build-tools/19.1.1.0/aapt' P> 错误:任务执行失败':app:MergedEbugresources'. 错误:org.gradle.process.internal.execexception:出现问题启动过程'命令'/home/user/android/sdk/build-tools/19.1.1.0.0/aapt'' 如何解决这个问题? 解决方案 我想您正在使用64位机器.根据: 您必须安装[libc6:i386 libncurses5:i386 libstdc ++ 6:i386 lib32z1 libbz2-1.0:i386]
0 2024-02-18
编程技术问答社区
为什么AAPT2不会生成相同的ID,而不是AAPT? R.Java内的ID的目的是什么?
使用等效命令行,为什么AAPT.EXE输出不同于AAPT2.EXE的ID?还有R.Java的工作如何加剧?我使用AAPT和AAPT2产生R.Java: "aapt.exe" package -f -m -M "AndroidManifest.xml" -I "android.jar" -S "\res" -J "\RJava" --auto-add-overlay ,但我仍然不明白为什么R.Java内部生成的ID的价值很重要?这些ID如何正常工作 解决方案 R.java中的生成的ID不仅会在aapt的运行与aapt2的运行之间有所不同,而且可能在连续运行aapt resp之间. aapt2自己. 资源ID的目的 生成R.java文件将在应用程序运行时分配给每个资源以引用它的ID.如 b.burd&j.p.mueller(2020), Android应用程序开发虚拟,第三版,Wiley,p.87 :: R.java文件中的十六进制值是Android资源管
0 2024-02-18
编程技术问答社区
aapt错误138 processDebugResources
今天在构建/制作项目时遇到了这一令人沮丧的错误,这似乎是因为安装Android SDK 22.6(也尝试了22.6.1)使用构建工具19.0.1,19.0.2和19.0.3. AAPT错误导致不生成r.java. 我认为这与项目有关,因为我还有另一个可以构建还可以的项目.我尝试过清洁项目/工作区,新工作区,重新安装Eclipse和Android SDK,然后移植到Android Studio Gradle,这是我下面包括的错误. 编辑:我还将项目恢复到了以前有效的提交 有人遇到了这种事情吗?通常是干净的作品,但这次不是. Error:Execution failed for task ':MyApp:processDebugResources'. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/scottab/dev/adt-bund
0 2024-02-18
编程技术问答社区
自动解决Android构建错误:框架像素必须是纯色或透明的(不是中间的字母)。
Android Studio(使用SDK 19、21或22)显示了Eclipse ADT(使用SDK 19)没有的错误: 错误:9点图像d:\ workspaces .... \ res \ drawable-hdpi \ btn_bg_common_press.9.png畸形. 错误:框架像素必须是固体或透明的(不是中间alpha). - 沿顶部边缘的Pixel#4发现. 或 错误:透明框架中的刻度必须为黑色或红色. 在aapt 中都 错误:错误:com.android.ide.common.process.process.processexception:org.gradle.process.internal.execexception:Process'命令'e:\ android \ android \ android \ sdk-android-studio \ build-build-tools \ 19.1. 0 \ aapt.exe''以非零退出
4 2024-02-18
编程技术问答社区
Android studio无法找到aapt
嗨,我在编译中遇到困难,我会遇到此错误: gradle:执行任务失败':ElectronicComponentInventorySearch:MergedEbugresources'. java.io.ioexception:无法运行程序"/opt/opt/android-studio/sdk/build-tools/android- 4.2.2/aapt":error = 2,没有这样的文件或目录 当我使用位置时: /opt/android-studio/sdk/build-tools/android-4.2.2/aapt 在我尝试任何事情之前 怎么了? 解决方案 AAPT是32位应用程序.我正在运行Ubuntu 64bit.我需要一些其他库.我做的第一件事是从12.10更新为13.04.它打破了Chrome,但这应该有所帮助.. 要使AAPT工作(这也解决了我与AVD的问题),只需运行以下两个命令: sudo apt-get instal
0 2024-02-18
编程技术问答社区
无法使用Android Studio-Gradle 1.7构建Android项目
我在Gradle和Android Studio方面有很多问题. 对项目中的任何资源进行更改可以随机给出编译期间的例外,这是我在Android Studio中看到的: Gradle: Error while executing aapt command Gradle: Execution failed for task ':App Code:processReleaseResources'. 这就是我看到的手动执行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:
0 2024-02-18
编程技术问答社区
AAPT2编译失败:Android 3.0 Canary 1上无效的dimen
我正在使用Android的Instant Apps播放.我安装了所有正确的软件包,并疲倦了以使用即时应用程序支持创建新应用程序(在板条新应用程序时,请选中Instant App的框).问题是我总是遇到编译工具的问题.其他人是否有这个问题并能够找到任何解决方法. 我的环境: Android Studio 3.0金丝雀1 编译SDK:25 构建工具:" 26.0.0 rc2" gradle插件:3.0.0-alpha1 Gradle:尝试了Gradle-4.0-Milestone1和2 Java 1.8/1.7 OS:尝试同时尝试Windows 10和Linux Ubuntu 16.4 LTS 错误: Error: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.internal.aapt.AaptException: AAPT2 compile fai
0 2024-02-18
编程技术问答社区
Android Studio中的R.java文件在哪里?
Android Studio中的R.Java文件在哪里? 解决方案 基于 Android Studio的新稳定版本(3.6)我们有: 所以,现在要找到生成的资源类,您需要以下步骤: 1)打开您的项目. 2)转到您的模块构建路径. 3)打开 outputs/apk/debug/app-name-debug.apk file. 4)选择您的class.dex文件. 5)查看向下放置的区域,然后转到您的完整包装路径. 6)您可以查看所有字节编码的资源类.因此,向下滚动到您要寻找的东西. 7)扩展您需要继续的资源类(例如,让它为r.id) 8)转到你的身份证. 就是这样. 更新: 如果您想查看实际的ID整数编号,则应按照以下步骤操作: 1)by(7)转到您需要继续的资源类,然后右键单击以显示上下文菜单 2)选择" show bytecode"以查看灵活的对话框" r $ id的dex字节代码",例如,对于
2 2024-02-18
编程技术问答社区
Gradle以非零退出值1完成(ic_launcher.png: error: Duplicate file)。
我遇到了Gradle这个奇怪的错误,请帮助我! /.../app/build/intermediates/res/debug/drawable-xxhdpi-v4/ic_launcher.png: error: Duplicate file /.../app/build/intermediates/res/debug/drawable-xxhdpi/ic_launcher.png: Original is here. The version qualifier may be implied. Error:Execution failed for task ':app:processDebugResources'. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/.../sdk/build-too
0 2024-02-18
编程技术问答社区
如何动态地将AAPT标志附加到Android.bp
我需要在某些情况下将新标志动态地附加到android_app> android_app> android_app的属性. 我正在尝试类似于此答案,执行GO脚本(我可以在添加一些prints时看到它),但是未添加标志. 这是我的代码,知道我缺少什么吗? my_defaults.go package my_defaults import ( "android/soong/android" "android/soong/cc" ) func aaptFlags(ctx android.BaseContext) []string { // I will replace this with some logic. // Returning a fixed value just for sake of simplicity var cflags []string cflags = append(cflags, "my_flag_h
2 2024-02-18
编程技术问答社区
覆盖Android框架的布局XML
问题 我想从Android名称空间中覆盖一个布局文件,例如 as com.android.internal.R.layout.popup_menu_item_layout).通过说 Override ,我假设在项目中声明xml文件,该文件将优先于框架拥有的布局. 注意,这只是一个示例布局,因此问题涉及sdk/platforms/android-XX/data/res/layout目录中存在的每个布局. 我尝试过的 工具:覆盖 有一个无证件资源.请参阅 this 回答一个示例,该示例从 设计支持库 ,不是Android Framework. 将tools:override="true"应用于布局的根标签不会生效. xml布局参考 - refs.xml 如 this 发帖,在/values/目录中声明refs.xml文件,其中包含以下内容:
2 2024-02-17
编程技术问答社区
以编程方式改变从API响应中获得的颜色资源的值
假设,在我的API调用中,我有一个称为color的参数.是否可以编辑或修改存在的R.colors.color从API结果分配颜色? 作为一个例子: 我打电话给我的API,然后返回green,现在我想加载我的应用程序(绿色Toolbar,绿色TextView颜色等),这是可能的吗? 我的第一个想法是: 在colors.xml上创建一个项目demo然后分配默认颜色,然后在我想要的任何地方使用此demo颜色(Button,TextView等),然后我认为可能是可能的通过API的结果以编程方式更改此值,因此我不需要创建SharedPreferences或类似的内容并避免使用更多代码. AS @y.s.对我说 不幸的是,您将必须在各处设置文本的颜色或手动视图... :( 我想要其他方法,因为我不知道我的项目将包含多少Activities,所以如果有其他方法可以做到这一点,我很高兴听到其他猜测./p> 编辑 我正在尝试@Jared Rummler的答
0 2024-02-17
编程技术问答社区