最简单的Android项目

这是我在windows环境下,试验过的最简单Android项目,只用记事本和命令行即可完成。

环境准备

开发环境需要Java SDK(官网下载),Android SDK(官网下载)。

首先安装Java SDK,然后将Android SDK解压到任意目录(建议解压到某个盘根目录,方便后续命令输入)。

接着需要下载Android SDK。打开刚才解压目录下的SDK Manager,勾选需要安装版本的SDK Platform点击Install package下载安装。

项目建立及代码编写

在任意地方新建一个目录,保存这个项目,然后新建一个src目录,用于存放源文件。因为Java有包的概念,所以进入src目录后,根据包名的层次,依次建立相应目录,然后新建Java源程序文件,比如:

 1 package test.android;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.app.AlertDialog;
 6
 7 public class Mini extends Activity {
 8   public void onCreate(Bundle savedInstanceState) {
 9     super.onCreate(savedInstanceState);
10     new AlertDialog.Builder(this).setMessage("It works.").show();
11   }
12 }

将文件保存为Mini.java

回到项目根目录,新建另一个文件,保存为AndroidManifest.xml,内容如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest  xmlns:android="http://schemas.android.com/apk/res/android" package="test.android">
 3   <application>
 4     <activity android:name=".Mini">
 5       <intent-filter>
 6         <action android:name="android.intent.action.MAIN" />
 7         <category android:name="android.intent.category.LAUNCHER" />
 8       </intent-filter>
 9     </activity>
10   </application>
11 </manifest>

还可以从这里下载演示项目。

好了,项目至此已经完成了,下面进入编译打包环节。

编译打包

先打开命令行,输入javac -version,如果没有显示出java版本号,请将Java SDK的bin目录添加到path环境变量。

把当前目录切换到项目的根目录,然后新建两个目录

1 mkdir bin
2 mkdir bin\classes

因为没有用到资源文件,所以第一步,直接编译Java源文件。

1 javac -encoding utf-8 -source 1.7 -target 1.7 -bootclasspath \Android\android-sdk-windows\platforms\android-23\android.jar -d bin\classes src\test\android\Mini.java

将编译好的文件打包成dex格式

1 D:\Android\android-sdk-windows\build-tools\23.0.3\dx.bat --dex --output=bin\classes.dex bin\classes

将资源文件打包

1 D:\Android\android-sdk-windows\build-tools\23.0.3\aapt.exe package -f -M AndroidManifest.xml -I \Android\sdk\platforms\android-19\android.jar -F bin\mini

用apkbuilder将所有文件打包成apk

1 D:\Android\android-sdk-windows\tools\apkbuilder.bat \workspace\test\android\minimum\mini.apk -v -u -z D:\workspace\test\android\minimum\bin\mini -f D:\workspace\test\android\minimum\bin\classes.dex

高版本的Java SDK里已经不提供apkbuilder.bat了,这里将文件内容贴一下,可以自己创建一个:

 1 @echo off
 2 rem Copyright (C) 2007 The Android Open Source Project
 3 rem
 4 rem Licensed under the Apache License, Version 2.0 (the "License");
 5 rem you may not use this file except in compliance with the License.
 6 rem You may obtain a copy of the License at
 7 rem
 8 rem      http://www.apache.org/licenses/LICENSE-2.0
 9 rem
10 rem Unless required by applicable law or agreed to in writing, software
11 rem distributed under the License is distributed on an "AS IS" BASIS,
12 rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 rem See the License for the specific language governing permissions and
14 rem limitations under the License.
15
16 rem don‘t modify the caller‘s environment
17 setlocal
18
19 rem Set up prog to be the path of this script, including following symlinks,
20 rem and set up progdir to be the fully-qualified pathname of its directory.
21 set prog=%~f0
22
23 rem Change current directory and drive to where the script is, to avoid
24 rem issues with directories containing whitespaces.
25 cd /d %~dp0
26
27 rem Check we have a valid Java.exe in the path.
28 set java_exe=
29 call lib\find_java.bat
30 if not defined java_exe goto :EOF
31
32 set jarfile=sdklib.jar
33 set frameworkdir=
34
35 if exist %frameworkdir%%jarfile% goto JarFileOk
36     set frameworkdir=lib37
38 if exist %frameworkdir%%jarfile% goto JarFileOk
39     set frameworkdir=..\framework40
41 :JarFileOk
42
43 set jarpath=%frameworkdir%%jarfile%
44
45 call %java_exe% -classpath %jarpath% com.android.sdklib.build.ApkBuilderMain %*

生成签名文件

1 keytool -genkey -alias my.keystore -keyalg RSA -validity 20000 -keypass 123456 -storepass 123456 -keystore my.keystore

生成签名文件时,提示输入姓名单位之类都可以直接回车忽略,最后输入y确认即可

对apk文件签名

1 jarsigner -verbose -keystore my.keystore -keypass 123456 -storepass 123456 -signedjar mini_signed.apk mini.apk my.keystore

这时就生成了最终的apk文件,可以安装到手机上了。

时间: 2024-10-01 21:15:37

最简单的Android项目的相关文章

gradle学习系列之eclipse中简单构建android项目

看不到图片可以去访问这个网址看看:http://pan.baidu.com/s/1o6FrFkA 一.什么是Gradle 官网www.gradle.org上介绍Gradle是升级版(evolved)的自动化构建工具.它可以自动构建,测试,发布,部署,同时使更多的软件包或其他类型诸如生成静态网站,文档等项目自动化. Gradle 将Ant的功能和伸缩性与Maven的依赖管理及约定结合成一种更加高效的方式去完成构建.它采用了Groovy 特定领域语言和诸多创新方法,提供了一种声明式的方式用合理的默认

最简单的Android项目(添加jar文件)

如果项目需要引用第三方jar文件,需要对编译命令做一些改动. 首先在项目根目录创建libs目录,将需要的jar文件拷贝到里面. 编译过程中有两步需要改动. 编译java源文件时,需要添加class path,命令是-cp jar文件的路径,如果有多个jar需要使用,用分号分隔多个路径,例如: javac -encoding utf-8 -source 1.6 -target 1.6 -bootclasspath \Android\sdk\platforms\android-19\android.

最简单的Android项目(NDK命令行编译)

Android的NDK编程需要下载NDK编译环境,可以从官网下载window64位版,然后解压到任意目录即可. NDK的实现其实是利用里Java的jni方法,所以前期的步骤可以参考jni的实现方法,只是编译时可以利用NDK工具来进行. 首先将Java源程序写好,例如: 1 package test.android; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.view.View; 6

第一个简单的android项目

开发平台:windows7+Eclipse+andriod SDK(24.0)+ADT(23.0.4).这个环境的搭建在前一篇文章(Mobile testing下的appium测试)里面已经描述了. 具体步骤: 1,建一个android project,填好项目名,然后再选择minimum requeired SDK时:如果选择的这个sdk版本低于3.0那么创建安装工程的同时也会创建一个appcomat_v7工程,这个主要是为了兼容低版本的安卓系统的:如果不想要这个v7工程的话,就选择minim

Android应用开发高效工具集1---ant构建简单Android项目

在java编译那些事儿中提到了用ant去编译Java项目,今天扩展到用它来构建Android项目,其实道理是相通的,变化的只是使用的形式.ant构建相比IDE的好处是多个子项目使用自定义jar包时,ant可以更好的完成自动化构建,一个命令就搞定整个项目的编译而不用手工的导出jar包然后再将其放到指定目录.这就是高效的构建工具所标榜的. 先来说说ant在Linux下的安装(那篇文章写的太过简单,其实也是很简单的,别看mannul中写的那么复杂). 1.ant的安装 最简单的办法就是直接用Linux

Android项目结构 以及体系结构

学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源文件目录 放置业务逻辑代码以及相应的UI代码 2. gen 下面有个R.java文件夹 该文件是建立Android项目自动生成的  该文件是只读文件 不可以更改 里面有很多静态 类名字与res的中资源文件一一对应 一般有attr ,drawable id raw layout string xml

Android高效的应用程序开发工具集1---ant构建一个简单的Android工程

在java编译那些事通过提到ant编译Java工程,如今扩大到用它来构建Android目,事实上道理是相通的.变化的仅仅是使用的形式.ant构建相比IDE的优点是多个子项目使用自己定义jar包时,ant能够更好的完毕自己主动化构建.一个命令就搞定整个项目的编译而不用手工的导出jar包然后再将其放到指定文件夹. 这就是高效的构建工具所标榜的. 先来说说ant在Linux下的安装(那篇文章写的太过简单,事实上也是非常easy的,别看mannul中写的那么复杂). 1.ant的安装 最简单的办法就是直

Android项目开发全程(二)--Afinal用法简单介绍

本篇博文接上篇的<Android项目开发全程(一)--创建工程>,主要介绍一下在本项目中用到的一个很重要的框架-Afinal,由于本系列博文重点是项目开发全程,所以在这里就先介绍一下本项目中用到的几个功能: Afinal简介 Afinal 是一个android的sqlite orm 和 ioc 框架.同时封装了android中的http框架,使其更加简单易用: 使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题. Af

在eclipse 导入简单的Android studio 简单项目

前言: 现在Android studio版本已经去到2.0(我暂时用着开发者版本)了,但是还是和以前的版本一样卡. (因为我用了很多第三方的UI控件,导致在Android studio build一个项目非常漫长,大约改一个字符需要两三分钟,最长试过5分钟呢. 不过在Eclipse的话,最多只需要半分钟就Build 到在手机,大大减少编译项目时间,有助于开发调试.) 所以我还是用着Android studio来开发,Eclipse 来编译项目. 不过今天不是来说在Android studio如何