android 编程最原始的工具链是啥?
Posted
技术标签:
【中文标题】android 编程最原始的工具链是啥?【英文标题】:What is the most primitive possible toolchain for android programming?android 编程最原始的工具链是什么? 【发布时间】:2012-03-22 01:04:32 【问题描述】:在牛仔竞技表演的烟花汇演中,我感觉自己好像在尝试学习 android 编程。我似乎找到的所有书籍所推荐的所有花哨的 IDE 东西都只是极大地分散了我发现开发 Android 应用程序真正需要的东西的注意力。
谁能告诉我有关实际构建应用程序所需的最少工具集的文档?我觉得如果我能理解到底发生了什么,我就能更好地使用花哨的 IDE。
【问题讨论】:
我第二个@WarrenFaith。无论他提出什么建议,都是您开发 Android 应用所需的最低要求。 如果您愿意,可以用命令行和文本编辑器替换 eclipse 来编辑 java/xml。请参阅 Managing projects from the command line 和 Building and running from the command line。您只需要(如前所述)安装 java 6、android sdk、终端和您选择的编辑器。 【参考方案1】:试一试AIDE Android 设备上的应用程序开发。上手非常简单,项目格式与 Eclipse 完全兼容,如果您想在 PC 上继续开发,可以。
入门视频:http://www.youtube.com/watch?feature=player_embedded&v=NGT9MqT3W2w
【讨论】:
【参考方案2】:原始?所以,不是 Eclipse,也不是 ant。您可以直接使用 aapt、javac、dx、apkbuilder 和 signer。或或多或少直接;你还是个程序员,你有处理重复的方法。
我使用Terminal IDE 进行一些设备端应用程序开发。这是我的构建脚本之一(名为“make”):
P=me/rapacity/stitch
rm src/$P/R.java
mkdir -m 770 -p dist || exit
mkdir -m 770 -p build/classes || exit
mkdir -m 770 -p tmp || exit
./index.perl
aapt p -f -M AndroidManifest.xml -F build/resources.res \
-I ~/sdk/3.2/android.jar -S res/ -J src/$P || exit
cd src
for F in \
SelectActivity.java Tilesets.java \
StitchActivity.java \
TilesetView.java \
; do
if test $P/$F -nt ../build/classes/$P/$(dirname $F)/$(basename $F .java).class; then
echo Building $P/$F
REBUILD=1
javac -d ../build/classes $P/$F 2> ../tmp/javac.out
../redcat ../tmp/javac.out
grep error ../tmp/javac.out && exit
fi
done
cd ..
if [ ! -z $REBUILD ]; then
set -x
( cd src; javac -d ../build/classes $P/R.java )
( cd build/classes; dx --dex --verbose --no-strict --output=../core.dex me ) || # 'me' as in me.rapacity.
apkbuilder dist/core.apk -u -z build/resources.res -f build/core.dex || exit
signer dist/core.apk core-debug.apk
else
echo +++ No need to rebuild .apk
fi
为了避免重新编译并在出现错误后立即退出,需要花费一些时间。每个项目需要编辑的内容很少。
【讨论】:
太棒了!这就是我一直在寻找的那种低级信息。 用“初学者知识”来修改这个很有趣。这绝不比在 Eclipse 中按ctrl + F11
简单! +1 虽然用于共享脚本。
@WarrenFaith,unix初学者知识?那么这是没用的。初学者对Android的了解?那么这可能更有用。初学者的Java知识?如果您不理解这个问题的吸引力......这里有一个小故事:我每天都使用 Emacs。 #perl 中的某个人粘贴了一个链接,并询问是否有人可以阅读它并解释它试图传达的 WTF。我读了。我什么也解释不了。是eclipse.org
我相信这个脚本不能处理 jars 的包含,而且绝对不是完整的库项目。这仍然回答了这个问题,但不能替代现有的构建系统(ant/eclipse)。
@CoatedMoose,终端 IDE 带有库示例。此脚本的主要优点是它可以在 Android 设备上运行。【参考方案3】:
-
Java SE 6(不是 Java7!)
推荐的 IDE 是Eclipse(推荐官方文档中有相关指南)
Android SDK(你需要下载你想要开发的API)和ADT - android开发工具 - Guide
可选:
-
推荐设备及其连接,因为模拟器捆绑在 Android SDK 中,因此不是必需的
【讨论】:
我认为我不会将 Eclipse 称为最小。我认为它是大多数烟花和野马的来源:-)。 如果没有 Eclipse,您需要一种方法来构建、部署和运行您的应用程序。这可以通过 ant 或 maven 来完成,但是由于您应该使用一种可以帮助您消除许多初学者失败的工具,因此您应该考虑使用真正的 IDE。 Eclipse 比您在为 android 开发时看到的要强大得多,但它是上述任务的最简单且因此最原始的解决方案。 恐怕这个初学者的大脑不是这样工作的。我所看到的只是花费数周时间与 Eclipse 斗争的可能性,只是为了发现我的问题与实际的 android 编程无关。我宁愿犯与android直接相关的错误,我可以从中吸取教训。以上是关于android 编程最原始的工具链是啥?的主要内容,如果未能解决你的问题,请参考以下文章