Android工程的自动创建,编译并生成apk

本文档介绍了如何使用Android SDK中的Ant工具自动创建、添加第三方库及编译生成APK。首先,详细说明了创建工程的步骤,包括指定目标API版本。接着,讲述了如何可选地添加第三方库到项目中。最后,详细阐述了编译过程,包括签名和生成release版本APK的必要步骤,并提到了在Ubuntu环境下进行操作的注意事项。

参考文档(android官方)

http://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject

http://developer.android.com/tools/building/building-cmdline.html#AutoReleaseMode


1.创建工程

创建工程的步骤很简单,在android sdk的工具中提供了工具,

  7 # 创建工程
  8 # 4.0为了适应android 4.0的硬件加速设置
  9 # 工程名
 10 # 生成路径
 11 # activity
 12 # 包名(为了区分,写了3层)
 13 android create project \
 14 --target 10 \
 15 --name $PROJECT_NAME \
 16 --path ./$PROJECT_NAME \
 17 --activity "$PROJECT_NAME"Activity \
 18 --package onerain.rb.$PROJECT_NAME

(其中$PROJECT_NAME是我自定义的工程名字,可以手动输入,也可以设置规则读取)

这里需要注意的是关于--target的参数,10对应的是android 4.0版本,具体对应规则可执行

android list targets 查询

2.添加第三方库(可选)

如果是添加其他工程,可参考 http://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject

如果是第三方jar包,只需要简单的将.jar文件复制到 工程目录/libs/ 下即可,因为ant编译过程会自动将其编译

27 cp ./libs/AppOffer_1.6.5.jar ./$PROJECT_NAME/libs
我这里以万普广告的sdk包为例

3.编译

(1)签名

用ant生成release版本的apk必须要使用.keystore文件,所以这一步不可少,命令输入

keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

按照提示一步一步填写完成即可

填写完成之后将keystore信息添加到ant.properties中

 20 # 在ant.properties中修改keystore信息
 21 echo key.store=../android.keystore >> ./$PROJECT_NAME/ant.properties
 22 echo key.alias=android.keystore >> ./$PROJECT_NAME/ant.properties
 23 echo key.store.password=meiyourena >> ./$PROJECT_NAME/ant.properties
 24 echo key.alias.password=meiyourena >> ./$PROJECT_NAME/ant.properties
(密码直接写在ant.properties中,可以避免每次编译的时候输入)

(2)编译,链接生成apk

这一步非常简单

只需要进入到工程目录下,执行

ant release

(如果提示ant没有安装请执行 sudo apt-get install ant)


大体流程就是这些,但是如果要修改java文件或者配置属性,还需要其他一些操作

(此流程已在ubuntu 12.04测试通过)

Android Studio 中使用 DJI MSDK 编译示例项目生成 APK 可按以下步骤操作: ### 1. 准备工作 - **安装 Android Studio**:确保已经安装了最新版本的 Android Studio,且配置好了 Android SDK 和 JDK。 - **获取 DJI MSDK 示例项目**:从 DJI 开发者官网下载最新的 DJI Mobile SDK(MSDK)示例项目。 ### 2. 导入项目 - 打开 Android Studio,选择 `File` -> `New` -> `Import Project`。 - 导航到下载的 DJI MSDK 示例项目的根目录,选择该目录点击 `OK`。Android Studio 会自动导入项目同步 Gradle。 ### 3. 配置项目 - **检查 SDK 路径**:确保项目的 `local.properties` 文件中配置了正确的 Android SDK 路径。例如: ```properties sdk.dir=/Users/yourusername/Library/Android/sdk ``` - **配置 MSDK 依赖**:在项目的 `build.gradle` 文件中,确保 MSDK 依赖正确配置。通常在 `dependencies` 部分会有类似如下的配置: ```groovy dependencies { implementation 'com.dji:dji-sdk:4.XX.X' // 具体版本号根据下载的 MSDK 确定 implementation 'com.dji:dji-sdk-provided:4.XX.X' } ``` ### 4. 配置签名文件(可选) 如果需要生成正式发布的 APK,需要配置签名文件。 - **创建签名文件**:选择 `Build` -> `Generate Signed Bundle / APK`。 - 按照向导创建新的签名文件,填写相关信息,如密钥库路径、密码等。 ### 5. 编译生成 APK - **选择构建变体**:在 Android Studio 的工具栏中,选择合适的构建变体,如 `debug` 或 `release`。 - **编译项目**:选择 `Build` -> `Make Project` 来编译项目。如果编译过程中没有错误,会在 `app/build/outputs/apk` 目录下生成 APK 文件。 - **生成签名 APK**:如果之前配置了签名文件,选择 `Build` -> `Generate Signed Bundle / APK`,选择 `APK` 选项,然后按照向导完成签名 APK生成。 ### 示例代码片段 以下是一个简单的 `build.gradle` 文件示例: ```groovy apply plugin: 'com.android.application' android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.dji.example" minSdkVersion 21 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.1' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation 'com.dji:dji-sdk:4.XX.X' implementation 'com.dji:dji-sdk-provided:4.XX.X' } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值