最简单的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 binclasses

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

1 javac -encoding utf-8 -source 1.7 -target 1.7 -bootclasspath Androidandroid-sdk-windowsplatformsandroid-23android.jar -d binclasses src	estandroidMini.java

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

1 D:Androidandroid-sdk-windowsuild-tools23.0.3dx.bat --dex --output=binclasses.dex binclasses

将资源文件打包 

1 D:Androidandroid-sdk-windowsuild-tools23.0.3aapt.exe package -f -M AndroidManifest.xml -I Androidsdkplatformsandroid-19android.jar -F binmini

用apkbuilder将所有文件打包成apk

1 D:Androidandroid-sdk-windows	oolsapkbuilder.bat workspace	estandroidminimummini.apk -v -u -z D:workspace	estandroidminimuminmini -f D:workspace	estandroidminimuminclasses.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 libfind_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=lib
37 
38 if exist %frameworkdir%%jarfile% goto JarFileOk
39     set frameworkdir=..framework
40 
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文件,可以安装到手机上了。

 

原文地址:https://www.cnblogs.com/leoparadox/p/5542794.html