Articles of android build

在命令行上卸载Android SDK的选定部分

这与“卸载旧的Android SDK版本”有关 ,除了我想在无头的Linux CI服务器上进行此操作(磁盘空间不足)。 android命令行工具是否提供了删除SDK的旧部分的选项? 通过快速查看,它可以删除的唯一内容是AVD。 我忽视了什么吗? 或者,我想我可以手动删除SDK_HOME下的内容。 但删除哪些东西是安全的? 其他候选人比这些? 我只需要支持API级别14及以上,所以我想我可以在platforms/像android-3和android-4下删除东西。 docs (800MB), samples (300MB) system-images怎么样? 我是否需要例如android-18/armeabi-v7a/和android-18/x86/如果我只想使用Gradle(和Ant)进行自动APK构建(没有模拟器的东西)? 至少在完全删除docs ,下次我运行android update sdk –no-ui ,它再次开始获取它们: Downloading Documentation for Android SDK, API 19, revision 1 我可以避免update添加我扔掉的SDK部分吗? 免责声明:是的,磁盘很便宜,我真的应该添加更多。 但是现在这个特定的服务器 (8.5G磁盘)我没有那个选项,但我还是想让它运行Android 19版本…

我可以在不使用库的情况下在Android项目之间共享代码和资源吗?

在Android项目之间共享代码和资源的标准建议是使用库。 就个人而言,如果(a)共享代码发生了很大变化,或者(b)您的计算机速度不够快,我发现这种方法效果不佳。 我也不想进入部署多个APK,这在使用依赖项目时似乎是必要的(即Java Build Path,Projects选项卡)。 另一方面,使用Eclipse链接源function共享源代码文件夹效果很好(Java Build Path,Source选项卡,Link Source按钮),但是对于这两个问题: 1)我不能使用相同的技术来共享资源。 我可以创建资源父文件夹的链接,但事情变得很糟糕,共享资源不会被编译(我正在使用ADT 21)。 2)所以我决定将共享资源复制到每个项目中,但这不起作用。 共享代码无法导入其资源的副本,因为它不知道使用它的项目的包名称。 我一直在使用的解决方案是动态访问资源,但随着资源数量的增长,这变得很麻烦。 所以,我需要(1)或(2)的解决方案,否则我将不得不回到图书馆项目。 (或许我还有其他选择没想过?)

Android中两个库中的属性名相同,名称冲突

我正在使用两个第三方库,它们在attrs.xml中使用相同的属性名称。 构建失败: Attribute “tabBackground” has already been defined 有没有办法解决这个碰撞而不修改其中一个库中的参数名称?

Android,Gradle,产品口味和清单

在build.gradle ,我设置了产品口味: productFlavors { AlternateFlavour { applicationId “com.myapp.alternateflavour” } } 然后在sourceSets部分中,我为这些风格使用不同的资源,资产和清单目录: sourceSets { main { manifest.srcFile ‘AndroidManifest.xml’ java.srcDirs = [‘src’] res.srcDirs = [‘res’] assets.srcDirs = [‘assets’] } AlternateFlavour { manifest.srcFile ‘manifest-tmp/AlternateFlavour/AndroidManifest.xml’ java.srcDirs = [‘src’] res.srcDirs = [‘res-tmp/AlternateFlavour’] assets.srcDirs = [‘assets-tmp/AlternateFlavour’] } } 好到目前为止。 在那个由部分自动生成的风味使用的清单中,我有: 但在根项目的原始清单中如下: 这会导致Gradle失败: Error: Attribute manifest@versionCode value=(1010001) from AndroidManifest.xml:4:5-28 is also present […]

Android构建系统gradle

我正在测试orroids新的构建系统仍处于测试阶段。 我已经实现了一些生成以下错误的代码: No such property: resolutionResult for class: org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingArtifactDependencyResolver$ErrorHandlingResolvedConfiguration 的build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.2’ } } apply plugin: ‘android’ android { sourceSets { main { manifest { srcFile ‘AndroidManifest.xml’ } java { srcDir ‘src’ } res { srcDir ‘res’ } assets { srcDir ‘assets’ } resources { srcDir ‘src’ […]

Android插孔内部未知错误415

我正在Mac(macOS Sierra 10.12.6)中构建AOSP 8,而Jack因未知的内部错误而失败 Internal unknown error (415), try ‘jack-diagnose’ or see Jack server log 杰克诊断显示: ps: illegal argument: -o usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid…]] [-g grp[,grp…]] [-u [uid,uid…]] [-p pid[,pid…]] [-t tty[,tty…]] [-U user[,user…]] ps [-L] Port 8073 is used by another process (pid=), please ensure to free the […]

Android Studio 3.0的DexArchiveMergerException

编译错误与以下build.gradle详细信息: 顶级build.gradle buildscript { repositories { google() jcenter() mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0’ } } allprojects { repositories { google() jcenter() mavenCentral() maven { url ‘https://maven.google.com’ } } } task clean(type: Delete) { delete rootProject.buildDir } App-Level build.gradle apply plugin: ‘com.android.application’ android { compileSdkVersion 27 defaultConfig { applicationId “com.abc” minSdkVersion 15 targetSdkVersion 27 versionCode […]

Android Studio:Gradle build错误:169.254 / 16 | * .169.254 / 16。 将忽略这些主机的代理设置

几个星期前我安装了Android Studio,我能够创建新的项目,他们建立得很好,我让它们运行。 当我创建一个新项目时,gradle不会构建,因为我得到了6个这样的错误: 错误:169.254 / 16 | * .169.254 / 16。 将忽略这些主机的代理设置。 这就是全部说的。 我尝试在线查找信息,甚至在这里,但我发现此错误没有任何用处。 有人提到它与他们的DNS设置有关,但没有关于如何修复它。 我仍然可以运行和构建我的旧项目。 我不能建立任何新的。 我非常感谢这方面的帮助,因为我无法继续推进我的项目。 谢谢

Android Studio – 可以与其他口味共享代码吗?

在我目前的应用程序中,我有2个构建,让我们称之为build 1和build 2 。 我知道两种风格可以共享公共代码/资源,但也可以有单独的代码和资源,如下所示: 我想要做的是扩展build 2以便它与另一个构建(例如build 3 )共享一些代码。 共享一些代码,如下所示: 这将是build2和build 3共享一些代码/资源,同时还能够拥有自己独特的代码集。 要么: 这里, build 3扩展build 2以便build 2中的所有代码和资源在两个构建中都可用,但build 3也可以具有其自己的唯一代码/资源。 我认为扩展build 2是最好的方法(如果可能的话),但任何建议或指向我正确的方向将非常感激。 我花了6个多小时在互联网上搜索无济于事。

如何生成android_stubs_current_intermediates目录中的.java文件?

Android构建过程为android.jar中的每个类生成(?)Java存根,并将它们存储在以下目录中: ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/src/ 例如,上面目录的子目录java/lang/包含对应于java.lang。*类的.java文件,子目录`android / app /’包含对应于android.app。* classes的.java文件。 这些.java文件不包含实际代码,只是包含虚拟主体的签名。 我假设这些.java文件是使用工具从实际源代码生成的。 我的问题是,这个工具是什么,它是否可以在Android构建过程之外使用? 我想使用该工具为非Android Java类生成存根。