我一直在努力运行我直接从源代码下载中获取的简单程序"Beginning Android 4".但是,我在build.xml文件中遇到了很多问题(请参阅前面的问题,这些问题没有答案).我最新的是,它来自一个简单的标签演示程序:
# ant debug
Buildfile: /home/me/src/ANDROID/MyProjects/Label/build.xml
BUILD FAILED
Target "debug" does not exist in the project "LabelDemo".
Run Code Online (Sandbox Code Playgroud)
然后,我检查了其他正在运行的build.xml文件,并且正如我所知道的那样,通过文件文本进行grepping,'debug'也不存在.但他们的工作.
所以,我显然必须错误地创建build.xml文件.为Android项目创建构建文件的正确方法是什么(从命令行).
Google最近更新了有关即时应用的文档:准备应用
大多数要点都很清楚,除非 3.如有必要,请重新构建您的应用.
他们建议零售模块,如浏览,搜索,项目详细信息和结账.
问题:如何将应用程序拆分为功能齐全且URL可寻址的模块?
我在这里看到几个问题:
有人可以将光照进黑暗中吗?谢谢!
android android-build android-studio android-gradle-plugin android-instant-apps
是否有一种简单的方法可以让gradle更新其最新可用版本的依赖项?
为了构建可重复性,我的build.gradle文件中的所有依赖项都使用这样的版本号定义:
dependencies {
compile 'namespace:package1:version'
compile 'namespace:package2:version'
compile 'namespace:package3:version'
}
Run Code Online (Sandbox Code Playgroud)
我想定期将每个包更新到最新版本.通常这是我在发布后为新冲刺做的第一件事.
对于每个包,手动执行此操作真的很痛苦.理想情况下,我想要一个命令为我更新build.gradle文件,但至少是一个命令,打印出哪个包需要更新以及最新版本号是什么.
在ruby land我会运行bundler update.
android gradle android-build android-package-managers android-studio
我一直在阅读有关变体和构建类型的内容,我不知道我是否理解它,但我想存储一个locahost(测试)的URL和一个用于生产的URL(在互联网上的实时站点).
我需要根据哪种构建类型切换它们.这是正确的方法吗?或者还有另一种选择吗?
有没有人有一个小例子?
有没有办法将这些信息存储在一个我不需要提交源代码控制的文件中?我正在使用gradle.properties文件存储gradle用于签名的一些密码..这很好用,因为这个文件我没有在版本控制中共享.
我对使用正确的方法以及如何实现它有点困惑.
有任何想法吗?
当我尝试编译Android源代码时出错(Sourcecode-version:6.0.1; RAM:6G;主机系统:ubuntu 14.04),日志如下:
including ./system/netd/Android.mk ...
including ./system/security/keystore-engine/Android.mk ...
including ./system/security/keystore/Android.mk ...
including ./system/security/softkeymaster/Android.mk ...
including ./system/tools/aidl/Android.mk ...
including ./system/update_engine/Android.mk ...
including ./system/vold/Android.mk ...
including ./system/weaved/Android.mk ...
including ./system/webservd/Android.mk ...
including ./tools/external/fat32lib/Android.mk ...
Starting build with ninja
ninja: Entering directory `.'
[ 0% 1/21275] Ensure Jack server is installed and started
Jack server already installed in "/home/eddy/.jack-server"
Launching Jack server java -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/eddy/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
[ 0% 17/21275] host Java: conscrypt-host (out/host/common/obj/JAVA_LIBRARIES/conscrypt-host_intermediates/classes)
warning: [options] bootstrap class path not …Run Code Online (Sandbox Code Playgroud) 我正在使用该mm命令在Android源代码中构建自定义模块.
当我跑步时mm clean,似乎整个项目都被清理干净了.
如何将清洁限制在当前模块中?
我有和旧的Android应用程序,我正在尝试迁移到android gradle构建系统.该应用程序目前内置于多项目设置中,并作为四个不同的应用程序发布(包括两个不同的数据集和两个数据集的免费/付费版本).我已经设法通过使用flavorDimensions(以前称为flavorGroups)来摆脱多项目设置,但我无法弄清楚如何为每种风味组合设置不同的applicationId.
由于应用程序版本已经发布,我需要保留与当前版本相同的应用程序.由于我的原始包命名是如何完成的,我不能简单地使用flavor-buildtype与"packageNameSuffix"的组合(如果它是一个未发布的应用程序,那将是一个很好的选择).
/sf/answers/1466944741/正在回答如何使用不同的源文件夹进行风味组合,而不是如何(如果可能的话)为构建文件中的每个组合设置特定配置.
Gradle构建文件片段:
flavorDimensions "price", "dataset"
productFlavors {
free { flavorDimension "price" }
paid { flavorDimension "price" }
dataset1 { flavorDimension "dataset" }
dataset2 { flavorDimension "dataset" }
}
Run Code Online (Sandbox Code Playgroud)
我想在我的gradle构建文件中有类似下面的内容(请注意我的命名是如何unlogic的,这就是为什么我不能使用packageNameSuffix):
freeDataset1 { applicationId "com.beansys.freeappdataset1" }
freeDataset2 { applicationId "com.beansys.freedataset2" }
paidDataset1 { applicationId "com.beansys.dataset1paid" }
paidDataset2 { applicationId "com.beansys.mypaiddataset2" }
Run Code Online (Sandbox Code Playgroud) 如何防止Android"构建过程"优化.png图像?
我有一个包含以下res目录的Android项目:
- /res/
- /res/drawable
- /res/drawable-hdpi
- /res/drawable-hdpi-v5
- /res/drawable-ldpi
- /res/drawable-ldpi-v5
- /res/drawable-mdpi
- /res/drawable-mdpi-v5
Run Code Online (Sandbox Code Playgroud)
这些目录包含许多.png文件.我使用PNGOUTWin优化PNG尺寸,整体尺寸减少了20%以上.当我构建.apk文件时,图像由构建过程"优化",整体大小现在比初始大小高10%,或者比我的/ PNGOUTWin优化大小高30%.
我的目标是减小.apk大小,即使它会影响最终性能,内存要求等.如何防止"构建过程"优化.png图像?
我的目标是Android 2.2及更高版本.
PS:我目前正在从Eclipse构建我的Android项目,但我稍后会切换到自动构建(Ant?).
关于JPG图像的注意事项: JPG不起作用,因为它们没有透明度.
我想知道如何在Android Studio中显示编译错误.我尝试了以下一个:
但它显示另一个错误:
javac: invalid target release: 1.8
Run Code Online (Sandbox Code Playgroud)
任何知道实际解决方案的人都请回复.
在谷歌IO,工具团队表现出短暂的可能性来定义具有特定后缀矢量绘图资源(如ic_heart_ 48像素,然后将转换到所有必要的密度PNG格式的.xml).不幸的是,除了IO录音之外,我找不到任何关于此功能的文档.
这是Build Tools还是Android Studio的功能?假设它是Build Tools的一部分,它是否已经可用?我应该使用哪个版本?我必须明确启用该功能吗?
Google是否以Android xml矢量格式提供其素材图标?