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 编程最原始的工具链是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何制定android交叉编译工具链

[Django] 如何在Django中使用前端工具链

区块链是一种伟大的现代化工具

Sleepless Blockchain区块链是用来创造信用的技术,不是创造实际财富的工具

NDK交叉编译之自定义工具链

区块链是啥