Android学习大纲二 手动构建您的第一个Android Project

 

  First Android App (Hello World) & Android Project Structure

1、  Create New Android Project By Android SDK2.3.3(API Level 10)

2、  Create A Main Activity MainForm(Extends Activity)

3、  R.java、main.xml、string.xml、AndroidManifest.xml summary:

3-1 main.xml summary:

每个Activity都需要有一个对应的xml文件配置界面、所有与界面有关的布局、组件、属性都是配置在该xml文件中。

3-2 string.xml summary:

与界面有关的名字、信息、标题的字符串常量的设置都是在该文件中配置的。

3-3 AndroidManifest.xml summary(Manifestà清单):

Global data file of current project、it’s Core configuration file Of Android Project.

3-4 R.java (TODO File)

aapt.exe 生成的资源速查类,该类的所有信息来至于string.xml和main.xml的配置

aapt  p  -f  -m  -J gen  -S res –I

E:\Dev\Android\android-sdk\platforms\android-10\android.jar

-M AndroidManifest.xml

准确的说:来自于资源文件夹res,ADT会自动生成该类,也可以用以下命令:

No gen directory has been found!

-f   force overwrite of existing files 覆盖已经存在的文件

-m  make package directories under location specified by –J

将R.java文件创建-J制定的路径中(路径目录必须存在),并且同时创建包

-J  specify where to output R.java resource constant definitions

   指定输出R.java文件的目录和路径

-I  add an existing package to base include set

   为当前R.java指定一个基础包(Android.jar)

-M  specify full path to AndroidManifest.xml to include in zip   

   指定Android清单配置文件(R.java的包就靠这个xml文件)

4、  Create first Android Form(Activity):

public class MainFormextends Activity {

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        //MainForm窗体的布局由main.xml来决定

        setContentView(R.layout.main);

    }

}

<?xml version="1.0" encoding="utf-8"?>

<!-- main.xml使用Linear布局(线型布局)

    宽度布局:填满父容器、高度布局:填满父容器、线性布局朝向:垂直布局

-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <!-- 设置一个文本控件

         宽度布局:填满父容器、高度布局:和内部所填写的文字一样大(随内容变化)、文字内容:引用string.xml中的hello变量

    -->

    <TextView

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/hello"/>

</LinearLayout>

5、  Edit string.xml for MainForm Activity:

<?xml version="1.0" encoding="utf-8"?>

<resources>

    <string name="hello">This is my first Android App!!</string>

    <string name="app_name">Android Form Demo</string>

</resources>

 

 

 

 

 

 

 

6、  Android App Structure definition:

System resource folder,

Include sys id for files in this folder,

Use [@] symbol read files in this folder

Customer resource folder,

No sys id for files in this folder

 

Resource directory files

App src package

 

 

 

 

 

 

7、  Pack your android application:

7-1、      Create R.java for specified project(Leave out.)

7-2、      Compile your classes to jar files(Ant、Pack tool Leave out)

a)      Notice:Required R.java in jar package

7-3、      Pack all classes to dex package(Android cannot use jar package)

dx --dex --output=C:\AndroidApp\bin\classes.dex

C:\AndroidApp\bin\classes

Pack all classes to dex package(Android cannot use jar package)

7-4、      Pack resource files、assets directory、*.dex files、Android Manifest.xml in apk file

aapt p -f -F bin\AndroidApp.apk -v -u -z -S res -A assets

-I E:\Dev\Android\android-sdk\platforms\android-10\android.jar

-M AndroidManifest.xml

 

-F  specify the apk file to output 指定apk的输出保存位置

-v  verboseoutput 显示apk打包过程(可省略)

-u  update existing packages (add new, replace older, remove deleted files)

   并非创新创建一个新的apk,而是为该apk增加、修改、删除文件

-z  require localization of resource attributes marked with localization="suggested"

   实施本地化定位设置,设置为“建议”

 

7-5、      Create certificate key for apk that it has been created。(JDK6 Keytool.exe)

Notice: Android SDK2.3.3 is not supported JDK7.Cannot publisher apk to AVD or mobile when Keytool.exe of JDK7 create a certificate key store

keytool -genkey -alias androidapp.keystore -keyalg RSA -validity 20000 -keystore bin\androidapp.keystore

-genkey 生成签名密钥库

-alias 给密钥库增加别名

-keyalg 为密钥库提供算法

-validity 密钥有效期(小时)

-keystore 密钥库生成位置

 

 

7-6、      Grant certificate(key store)to existed apk file

jarsigner -verbose -certs -keystore bin\app.keystore

-signedjar bin\AndroidApp_signed.apk bin\AndroidApp.apk app

- verbose 列出所有签名清单

-certs 对外展示密钥

-keystore 指定密钥库位置

-signedjar parameter1 签名后的apk文件

-signedjar parameter2 需要签名的apk文件

-signedjar parameter3 密钥库别名

 

 

 

 

8、  Publish your Android application(adb.exe):

8-1、Startup AVD

emulator –avd Android2.3.3AVD   #( Android2.3.3AVD : AVD name)

8-2、install apk

adb install –s bin\AndroidApp.apk  #(-s:install to sdk)

8-3、uninstall apk

adb uninstall com.frank.android.app #(required apk main package, it is not apk name)

Notice:

Show error message [INSTALL_PARSE_FAILED_NO_CERTIFICATES] when keytool.exe and jarsigned.exe of more than JDK6 has been used

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值