windows下用command创建编译打包android工程

Windows平台安卓逆向工程:从APK拆解到动态调试的完整工具链指南 安卓逆向工程是深入理解移动应用内部机制的关键技术,它通过静态与动态分析相结合的方法,揭示应用的代码逻辑、数据流和通信协议。其核心原理在于对APK文件进行解包、反编译和运行时监控,从而还原应用的设计思路与实现细节。这项技术的价值不仅在于安全评估和漏洞挖掘,也为开发者学习优秀架构、进行兼容性调试提供了独特视角。在应用场景上,它广泛用于移动安全研究、协议分析、恶意软件检测以及合法合规的第三方功能扩展。本文聚焦于Windows环境下的实战流程,详细解析了以Apktool、JADX和Frida为核心的工具链搭建与使用 阅读详情

今天晚上打麻将回来晚了,已经是夜里1点半了,手气不是很好,很是无奈,为了让自己快速的愉悦起来,决定写这篇博客介绍一下在windows系统中如何利用ant,jdk的keytools、jarsigner以及android sdk tools中的zipalign来创建和打包android手机程序。要使用命令行形式来进行创建和打包操作,就有必要先了解一下编译和发布的工作流程,官方的图解还不错,借来用用,省的大家开网页。



官方文档很详细,但是有点罗嗦,简单来说, 从创建到生成可用的apk,需要我们手动操作的,分为以下五个步骤:

  1. 生成工程
  2. 编辑工程代码
  3. 编译工程,生成未签名的apk包
  4. 为apk安装包签名
  5. 优化已签名的apk安装包


这次主要介绍1,3,4,5步骤,第二步骤要如何编辑里面的源代码,尽情发挥各位的想象力吧,本博客就只介绍简单的hello world了,谁让今晚手气不好呢。

因为整个流程的操作是在命令行完成,所以,在开始第一步的生成工程前,先要确定2个事情,

1. jdk已经安装;(不会安装jdk?敲打 好吧,请看这里)

2. ant已经安装;(不会安装ant?委屈 好吧,请看这里)

3. Android SDK已经下载;(不会安装sdk?快哭了好吧,请去这里下载。或者看看这里)

以上两步完成后,运行windows键+r,输入cmd, 打开那个熟悉的黑色窗口

Android开发开始:

1. 生成工程

我们是利用Android SDK来创建工程的,当你已经下载好SDK后,目录下会有一个名为tools的文件夹,没错,我们需要的工具就在里面。

例如我的环境下,sdk安装目录是F:\Tools\android-sdk-windows

打开命令行窗口后,浏览到sdk的tools目录,然后执行创建工程命令

android create project \
      --target <target_ID> \
      --name <your_project_name> \
      --path path/to/your/project \
      --activity <your_activity_name> \
      --package <your_package_namespace>
这几个参数中,唯一一个不好理解的是target,没关系,输入>android.bat list targets即可查看详细信息,别偷懒,看看吧,有好处。

(要查看Android SDK提供哪些类型的target ids, 在cmd里cd到{sdk-path}/tool,输入>android.bat list targets即可!)

 创建工程命令:

比如我要在D:\myandroid文件夹下创建我的工程,该工程包含一个名为Home的activity,以我的电脑为例,我可以输入下面的命令行

{sdk-path}\tools>android create project --target 8 --name myandroid --path D:\myandroid\ --package com.puma.test --activity Home


这样,工程就生成了,快去D:\myandroid文件夹看看,是不是和eclipse里的文件夹结构类似。

2. 编辑工程

此部分设计到代码开发,以后分解,此次只用默认工程做例子。

3. 利用ant编译工程,生成未签名的apk包

因为我们已经把ant添加到path环境变量里了,所以我们可以在命令行里直接用ant命令。我们在命令行中,转到生成的工程路径下,根路劲下是有一个build.xml文件的。

运行and release命令

运行后,会提示编译成功

这个时候去工程的bin目录下看看,是不是生成了一个apk文件了。

但是这个文件是未签名的,不能安装到手机上。所以下一步需要对该文件签名。

4. 为apk安装包签名

签名之前我们需要准备一个程序的key,我们是使用jdk的keytool工具来制作key的,在我们的jdk/bin里,有个叫做keytool.exe的工具。

在工程路径下,输入下面的命令行,然后回车

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
看到什么了?是不是一对问题,对,就按照提示一个一个填吧,中国的国家代码86

在工程的根目录下就会生成一个my-release-key.keystore文件,这样我们签名所使用的key就有了。

输入下面的命令行,对我们的程序进行签名

D:\myandroid>jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore ./bin/myandroid-release-unsigned.apk alias_name


您可以验证一下是否签名成功,输入下面的命令:

D:\myandroid>jarsigner -verify -verbose ./bin/myandroid-release-unsigned.apk


恭喜你,还差最后一步了,再坚持一下。

5. 优化已签名的apk安装包

再切换到sdk的tools目录,tools里有个叫做zipalign.exe的工具,输入下面的命令行,第一个apk是刚才我们签名过的,第二个是要优化的

F:\Tools\android-sdk-windows\tools>zipalign -v 4 d:/myandroid/bin/myandroid-release-unsigned.apk d:/myandroid/bin/myandroid-release.apk

恭喜你,成功了,用你喜欢的方式安装到手机上试试看吧!

各个步骤参数部分没有详细描述,困了,有机会再补上吧。


老汪 2013年4月17日 凌晨

微笑


Mac上Cocos Creator安卓打包全攻略:从环境配置到APK签名 在跨平台游戏开发中,安卓打包是一个涉及多工具链集成的关键技术环节。其核心原理在于通过构建系统将游戏代码、资源与原生库整合为可安装的APK文件。这一过程的技术价值在于打通不同操作系统间的开发壁垒,实现一次开发多端部署。在实际应用场景中,开发者常需在macOS环境下配置Java、Android SDK/NDK等依赖,并处理签名、包体优化等工程实践问题。针对Cocos Creator这一流行游戏引擎,**环境配置**与**APK签名**成为确保构建成功的关键步骤,特别是在处理M系列芯片与Intel架构差异时,正确 阅读详情

相关推荐

Unity安卓打包NDK/JDK版本对照表与配置指南

在移动应用开发中,原生开发工具链(NDK/JDK)的版本兼容性是确保项目顺利构建的关键基础。NDK(Native Development Kit)负责将C#代码通过IL2CPP后端编译为原生机器码,而JDK(Java Development Kit)则处理Java相关的编译、打包与签名任务。理解其工作原理有助于避免因版本不匹配导致的构建失败,提升开发效率。对于Unity引擎的安卓平台打包,版本兼容性问题尤为突出,不同Unity版本对NDK和JDK有特定要求。例如,Unity 2021.3 LTS推荐使用ND

weixin_34396103的博客 422

win下安卓打包指南

win下安卓打包指南

heshihu2019的博客 637

UE5安卓打包实战:从环境配置到性能优化的完整指南

移动应用开发中,跨平台部署是将高性能应用推向更广用户群体的关键环节。其核心原理在于通过特定的工具链和配置,将桌面级开发环境构建的应用,适配到移动设备的硬件架构与操作系统上。这一过程的技术价值在于能够复用成熟的开发框架和资源,显著提升复杂图形应用(如游戏、实时交互应用)的开发效率。在应用场景上,它广泛应用于游戏、AR/VR、工业仿真等需要高性能图形渲染的领域。以虚幻引擎5(UE5)项目为例,将其打包为安卓APK,就涉及环境配置、项目优化、性能调优等一系列工程实践。本文聚焦于UE5安卓打包流程,详细解析如何通过

weixin_34211761的博客 401

Windows中使用命令行方式编译打包Android项目

echo off rem =========基本参数配置============ rem jdk的路径 set JAVA_HOME=D:/Program Files/Java/jdk1.6.0_24 rem jdk的版本 set JDK_Version=1.6 rem sdk的路径 set AndroidHome=D:/Android/android-sdk-windows rem

Android For Java 987

Unity 2020安卓打包配置全攻略:从JDK、SDK、NDK到避坑指南

在移动应用开发中,构建与打包是连接开发与部署的关键环节,其核心在于工具链的协同与版本管理。Unity引擎的安卓打包流程,本质上是一个由Java开发工具包(JDK)、安卓软件开发工具包(SDK)和原生开发工具包(NDK)共同构成的复杂构建系统。理解其原理,关键在于掌握各组件(如JDK 8、Gradle)的版本兼容性与环境配置逻辑。这套技术方案的价值在于将游戏或应用的C#/C++代码与资源,通过IL2CPP等后端,高效、稳定地编译为可在安卓设备上运行的APK或AAB包,是实现跨平台发布的技术基石。其应用场景广泛

weixin_33860553的博客 360

Cocos Creator安卓APK构建实战:从环境配置到多渠道打包

在移动游戏开发中,APK构建是将游戏项目打包为安卓可安装应用的关键环节,它直接关系到应用的最终分发与用户体验。其核心原理在于通过构建工具链(如Gradle)将代码、资源与原生库进行编译、压缩与签名,生成符合安卓平台规范的安装包。这一过程的技术价值在于确保应用的完整性、安全性,并优化其性能与体积。在实际应用场景中,开发者常需处理环境配置、签名管理、资源优化及多渠道适配等问题。本文聚焦于Cocos Creator引擎下的安卓构建,详细解析了**JDK版本选择**与**Gradle配置**等基础但易错的热点环节,

weixin_33898876的博客 490

Windows下Android打包教程:将Android 源码打包成.APK可执行文件

最基出的环境: Node.js,Android SDK ,Java JDK(1.8) nodejs安装包中文下载地址:http://nodejs.cn/download/ Android SDK下载地址:https://www.androiddevtools.cn/ Java JDK下载地址: 打包环境搭建...

闫振兴的博客 1万+

Unity2019安卓打包环境配置全攻略:从SDK、JDK到Gradle避坑指南

在移动应用开发中,构建环境的正确配置是项目成功打包部署的基础。其核心原理在于协调SDK、JDK、NDK和Gradle等工具链的版本与路径,确保各组件能协同工作。稳定的构建环境对于提升开发效率、保障团队协作至关重要,尤其在游戏开发、企业级应用打包等场景中。本文聚焦于Unity2019这一特定版本,针对其安卓打包过程中常见的“Gradle构建失败”、“JDK版本不兼容”等典型问题,提供了从组件选型、分步配置到高频错误排查的完整工程实践方案,旨在帮助开发者搭建一个可靠、可复现的安卓构建流水线。

weixin_30791095的博客 402

windows 编译android,Windows下利用ant编译android工程

然后点击“确定”。然后一直单击“确定”完成环境变量的配置。若相关环境都已设置正确,运行ant会有如下提示:1、编译android项目:有很多编程高手不喜欢用IDE来创建android工程,或者是因为机器老旧,或者是因为习惯使然,下面我们就来介绍一下不用IDE的情况下怎么用ant来编译android工程,在使用本方法时请确保你已经有如下的环境:(a)java环境(b)android-sdk环境如...

weixin_39785600的博客 259

彻底解决UE4安卓编译错误:No BuildPlatform found for Android

在游戏开发中,跨平台编译是连接开发环境与目标设备的关键环节。其核心原理在于构建系统(如Unreal Engine的Unreal Build Tool)需要正确识别并加载特定平台的工具链模块。当环境变量配置错误、依赖版本不匹配或模块注册失效时,构建系统便无法定位平台支持,导致编译流程中断。这一问题的技术价值在于,稳定的环境配置是保障持续集成与自动化部署的基石,直接影响开发效率与项目进度。在移动游戏开发,尤其是使用Unreal Engine进行Android平台打包的场景下,环境配置错误是常见的工程实践挑战。本

weixin_33682790的博客 423

UE5安卓开发环境配置:XGE编译加速与Vulkan预览全攻略

在跨平台游戏开发中,安卓环境配置是连接PC创作与移动设备部署的关键桥梁,涉及SDK、NDK、JDK等核心工具链的集成。其原理在于通过原生编译工具链将C++代码转化为安卓设备可执行的本地库,并利用现代图形API实现高效渲染。这一过程的技术价值在于构建稳定、高效的移动端开发工作流,直接影响迭代速度与最终性能表现。应用场景广泛覆盖从独立游戏到大型商业项目的安卓平台移植与优化。本文聚焦于通过配置XGE分布式编译来大幅缩短代码构建时间,并启用Vulkan渲染后端实现编辑器内的实时安卓画面预览,从而解决编译效率低下与图

csdn785029689的博客 401

通过命令行创建Android工程,并编译发布

1、利用命令行创建一个新的工程:        android create project --target 1 --name PROJECTNAME --path /PROJECT_PATH --package com.project --activity ActivityName  2、将对应的信息拷贝到刚才创建的工程中,如拷贝图片资源到/res/drawable-h

jiang_lostcode的专栏 1266

Unity 2019安卓打包全攻略:环境配置、纹理压缩与疑难排查

在移动应用开发中,环境配置是项目构建的基石,它确保了开发工具链的顺畅协作。其核心原理在于通过系统变量(如JAVA_HOME、ANDROID_HOME)精确指引编译器与构建工具定位关键组件,如JDK、SDK和NDK。正确的环境配置能显著提升开发效率,避免构建失败,是保障CI/CD流水线稳定运行的前提。在安卓平台,纹理压缩格式(如ETC2、ASTC)的选择直接影响应用的包体大小与运行时性能,需根据目标设备的图形API支持情况进行权衡。本文聚焦于Unity 2019这一特定版本,针对其与安卓构建系统(Gradle

weixin_33868027的博客 356

【UE5.4】猫猫都能看懂的Android打包新版攻略

开发未动,兼容先行!

Vic的游戏开发小屋 1万+

Cocos Creator 3.8.6安卓打包全流程:从构建到真机部署实战指南

移动游戏开发中,将游戏引擎项目打包成可在安卓设备上运行的应用程序是一个核心环节。其原理在于通过构建工具链,将游戏资源、脚本和引擎运行时库编译、链接并封装成符合安卓系统规范的安装包。这一过程的技术价值在于打通了从开发到分发的关键路径,是实现游戏产品化的必要步骤。在实际应用场景中,开发者常面临环境配置复杂、版本兼容性以及构建优化等挑战。本文聚焦于Cocos Creator引擎,详细解析了**NDK配置**与**Gradle构建**这两个关键环节,提供了从编辑器设置、环境变量配置到APK生成与真机调试的完整、可操

weixin_33749131的博客 516

深入解析:如何基于开源p-net快速开发Profinet从站服务

开源p-net协议栈为工业设备开发者打开了通往Profinet世界的大门。随着工业互联网的发展,软协议栈方案将在边缘计算领域展现更大潜力。该文章完整实现了PROFINET从站的核心功能,可直接作为产品开发的基础框架。实际部署时需根据具体硬件平台调整网络驱动和实时性配置。

极地星辰 3882

UE5.4.4源码编译与安卓APK打包全流程实战指南

源码编译是深入理解游戏引擎内部机制和进行深度定制的关键技术路径,它允许开发者从底层掌控引擎行为,集成特定功能并优化性能。其核心原理在于通过构建系统(如UnrealBuildTool)将源代码转换为可执行文件,这一过程对硬件配置和工具链版本有严格要求。掌握源码编译技术对于需要定制渲染管线、集成第三方SDK或进行平台特定优化的团队具有重要价值,尤其在移动平台开发中,它是确保项目稳定性和性能表现的基础。在安卓应用开发场景下,从编译好的引擎到生成可部署的APK,还需要正确配置Android SDK、NDK和构建环境

weixin_33762130的博客 476

【人工智能AI】是什么?

人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟延伸和扩展人的智能的理论方法技术及应用系统的一门新的技术科学。(百度百科)人工智能的基本原理:机器从「特定的」大量数据中总结规律,形成某些「特定的知识」,然后将这种「知识」应用到现实场景中去解决实际问题。在这个基本原理的基础上,有3个特征:1、人工智能本质上是一种工具2、人工智能技能只能解决特定的问题,而不是什么都能做3、人工智能属于归纳逻辑,可以告诉你是什么,但是不能告诉你为什么。

KJCZ.AK的博客 2万+

Unity2020安卓打包环境配置全攻略:JDK/SDK/NDK版本匹配与避坑指南

在移动应用开发中,环境配置是项目构建的基础环节,它决定了代码能否成功编译并部署到目标设备。其核心原理在于构建工具链的版本匹配与路径协调。对于使用Unity引擎进行安卓游戏开发的工程师而言,正确的环境配置具有极高的技术价值,它能将开发者的精力从繁琐的依赖解决中解放出来,专注于核心的游戏逻辑与性能优化。一个典型的应用场景便是为Unity2020这样的长期支持版本配置安卓打包环境,其中涉及Java开发工具包、安卓软件开发工具包和原生开发工具包这三个关键组件的协同工作。本文聚焦于解决Unity安卓打包中最常见的环境

480

基于STM32的工业设备状态监测系统

工业设备的预测性维护需求日益增长,本文设计了一款基于STM32的智能监测终端,可实时采集设备振动、温度、电流等关键参数,通过边缘计算分析设备健康状态,实现故障预警与能效优化。系统支持4G/LoRa远程通信,适用于工厂、发电站等工业场景。本系统实现了工业设备关键参数的实时监测,故障识别准确率达到92%。:STM32F429(带FPU,支持浮点运算)多参数联合判据(振动+温度+电流突变检测)ACS712电流检测模块(0-30A)FFT频谱分析(识别轴承故障特征频率)故障代码生成(支持16种预设故障类型)

stm32d1219的博客 1328

保姆级教程:用STM32标准库搞定TIM1的PWM输出(附完整代码和避坑点)

本文提供STM32F103高级定时器TIM1的PWM输出保姆级教程,涵盖从工程搭建到完整代码实现的详细步骤。重点解析TIM1作为高级定时器的特殊配置要点,包括时钟初始化、PWM通道设置和GPIO复用功能,并附常见问题排查指南和动态调整占空比的实用技巧,帮助开发者高效实现精准PWM控制。

weixin_30673611的博客 433

Python Kivy跨平台开发安卓应用实战指南

跨平台开发框架允许开发者使用单一代码库构建多平台应用,大幅提升开发效率。Kivy作为基于Python的开源框架,通过OpenGL ES 2.0实现硬件加速渲染,支持Android、iOS等多平台部署。其采用声明式KV语言分离界面与逻辑,配合Python的简洁语法,特别适合快速原型开发。在移动应用场景中,Kivy能实现60FPS的流畅交互,通过Buildozer工具链可生成符合Google Play标准的APK。本指南详细演示了从环境配置、核心架构到性能优化的完整流程,特别解决了NDK版本兼容和内存泄漏等工程

weixin_30781433的博客 353

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2660
下一篇: QR编码设置基础概念(zxing 和 d_project qrcode)
老汪
博客等级 码龄24年 20粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值