在Android中,可以通过修改AndroidManifest.xml文件中的android:label属性来设置已编译APK的名称。android:label属性定义了应用程序的显示名称,它可以是一个字符串值或者是一个引用资源的ID。
要设置已编译APK的名称,可以按照以下步骤进行操作:
通过以上步骤,你可以成功设置已编译APK的名称。在应用程序安装到设备或者模拟器上时,它将显示你所设置的名称。
腾讯云相关产品和产品介绍链接地址:
反编译(Decompilation)是将已编译的程序(比如二进制代码)转换回更高级别的编程语言代码的过程。这通常用于理解程序的工作原理,进行软件审计,恢复丢失的源代码,或者进行教学研究。反编译的难度和效果取决于原程序的编译过程中丢失了多少信息(比如变量名、注释等)。
从Android演进开始,APK签名就已经成为Android的一部分,并且android要求所有Apks都必须先签名,然后才能将其安装在设备上。关于如何生成密钥以及如何签名的文章很多。一个Apk,但我们将从安全角度进行研究。在对Apk文件进行反编译或反向工程之后,应查看哪个文件,以获取有关最初对应用进行签名的开发人员的更多信息。
/**************2016年4月23更新*********************/
反编译工具 : 总结了一下 linux, windows, mac 上的版本, 一起放到 CSDN 上下载;
一大早还在北京拥挤的地铁里,我的CTO闫哥在微信里给我发了一条信息:Android Studio 3.0发布了。
假如AndroidManifest.xml的 meta-data>CHANNEL 是渠道的标准
如果你是使用android studio编译项目的化,在编译apk只会会自动给apk签名。
由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解。 什么是ProGuard工具? ProGuard是android提供的一个免费的工具,它能够移除工程中一些没用的代码,或者使用语义上隐晦的名称来重命名代码中的类、字段和函数等,达到压缩、优化和混淆代码的功能。具体来说,使用ProGuard工具,可以达到下面两个目的: 删除了源文件中没有调用的那部分代码,最大化的精简了字节码
在项目开发时,如果需要使应用具有系统权限,例如可以支持静默安装和卸载APK,此时就需要使用系统签名。 常用的系统签名方式包括在ubuntu环境下、手动签名和在AndroidStudio环境配置,三种方式中,实现最简单的是通过AndroidStudo方式,该方式的签名实现与正常的APK签名相同,唯一不同的就是签名文件是通过系统生成的。 注意,无论采用何种签名方式,如果想实现具有系统权限的应用,在APK生成时,都需要在AndroidManifest.xml中配置android:sharedUserId=“android.uid.system”,如下所示
概述 Android Build 系统是用来编译 Android 系统、Android SDK 以及相关文档的一套框架。在Android系统中,Android 的源码中包含了许许多多的模块。 不同产商的不同设备对于 Android 系统的定制都是不一样的。如何将这些模块统一管理起来,如何能够在不同的操作系统上进行编译,如何在编译时能够支持面向不同的硬件设备,不同的编译类型,且还要提供面向各个产商的定制扩展,Android系统如何解决这些问题呢?这就是我们不得不谈的Android Build 系统。 Andr
Android Studio 中使用 Android.mk 配置第三方 静态库 :
在不同的应用市场可能有不同的统计需求,需要为每个应用市场发布一个安装包,这里就引出了Android的多渠道打包。在安装包中添加不同的标识,以此区分各个渠道,方便统计app在市场的各种。
前面的文章 一.jenkins+github+gradle 实现android自动化打包全攻略(MAC版) http://www.jianshu.com/p/9caab25d2cf1 二.jenkins配合Gradle实现自签名,自定义APK名称 http://www.jianshu.com/p/5866e36c81fa
在进行apk热修复、插件化、动态加载的时候,会经常多个jar/dex包含相同的class,如果class结构因为需要升级出现了变化,会隐藏一些很难解释的坑在里面,务必谨慎。
ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等。
说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值:
我们下载到的Android App 安装包是 Apk文件(Android Application Package) 。通过 Apk 文件,我们也可以得到这个应用的代码和资源文件,对应用进行修改。
除了发送彩信需要文件提供器,安装应用也需要FileProvider。不单单彩信的附件图片能到媒体库中查询,应用的APK安装包也可在媒体库找到。查找安装包依然借助于内容解析器,具体的实现过程和查询图片类似,比如事先声明如下的对象变量:
Android库在结构上与Android应用模块相同。它可以提供构建应用所需的一切内容,包括源代码、资源文件和Android清单。不过,Android库将编译到可以用作Android应用模块依赖项的Android归档(AAR)文件,而不是在设备上运行的APK。与JAR文件不同,AAR文件可以包含Android资源和一个清单文件,这样除了Java类与方法外,还可以捆绑布局和可绘制对象等共享资源。
其中,文件名.tar.gz是你要解压的.tar.gz文件的名称。解压命令选项的含义如下:
SDK(Software Development Kit)是软件开发工具包的缩写,一般来说,SDK是用于给开发人员提供进行应用程序开发的工具的,这样程序员就可以快速的开发出应用软件,省去了编写硬件代码和基础代码框架的过程,我们常见的Android SDK就属于这一类。除了这种比较大的SDK,我们平时开发的library也属性SDK,只不过功能比较单一,适用的场合也比较简单,如短视频SDK、推送SDK,分享SDK等。 而我们所做的游戏SDK主要是用于第三方游戏开发接入我们的账号体系和支付体系,类似于友盟分享等聚合SDK。
作为软件行业的从业者都知道,一款软件的开发过程中肯定会诞生两种版本,即debug版本和release版本,debug版本包含有调试信息,一般来说都要比release版本大,android应用当然也不例外
Tinker 官方代码示例 : https://github.com/Tencent/tinker/tree/dev/tinker-sample-android
文章更新: 20160912 初次成文 应用名称:Apktool 应用包名:per.pqy.apktool 应用版本:5.2 说到Apktool,不论是电脑端还是手机端,大家应该都不陌生
本文主要讲述了代码混淆和资源混淆的原理,Studio默认的混淆方案,混淆的参数,以及如何对Apk进行代码混淆(自定义混淆文件)和资源混淆(结合微信混淆和美团混淆两种方案),避免Apk被逆向。 为什么要混淆 我们的apk在打包发布之前,都要进行混淆处理来避免源代码和资源文件被小白用户通过反编译拿到。未混淆代码的反编译操作非常简单,网上有很多教程, 也可以通过使用Android Studio自带的apk分析工具(Build—-Analyze APK)直接看到未混淆Apk的源代码和原始的资源文件。对比图如下,从
Android的碎片化不用我说大家都懂的,五花八门。时常应用层开发者痛不欲生,明明在我这里开发时运行没有问题,tm的一上线就出问题。
那么,在解包生成的目录下找到AndroidManifest.xml,着手修改package以及对应引用。
基于流行的IntelliJ IDEA创建,Android Studio是用 于Android开发的一套集成开发工具。
Android Studio是采用gradle来构建项目的,gradle是基于groovy语言的,如果只是用它构建普通Android项目的话,是可以不去学groovy的。当我们创建一个Android项目时会包含两个Android build.gradle配置详解文件,如下图:
Android Studio 中使用 Android.mk 配置第三方 动态库 :
在Android 程序开发中,往往需要根据实际的业务需求和工程管理要求,做一些定制开发。本文介绍常用的Android工程管理与配置。
本文主要介绍了关于Gradle配置的相关知识,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
搭建机器:一台Mac Book Pro 开发工具:Android Developer Tools Build: v22.6.2-1085508(mac版本) 开发环境:OS X EI Capitan 版本 10.11.5 jenkins版:V1.647
去年从平安离职之后,加入了一家游戏公司,负责游戏SDK相关的业务开发和维护工作,经过半年来的摸索,对于游戏SDK的开发有了一定的理解,下面就对游戏SDK开发涉及到的知识点进行简单的梳理。
安装完成需要准备以下 在CentOS 7下构建安卓Android编译环境 安装jenkins 最后一步来自动or手动打包 需要在资料 1.jenkins项目名:安卓自动打包-小游戏-GameDev-A
生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认在c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg RSA -validity 2000 -keystore newandroid.keystore 备注说明:-alias后面跟着的是别名(android.keystore) -keystore后面跟着的是具体的签名文件(及签名文件的命名–newandroid.keystore) 当使用这个命令生成后,会有个警告,不符合pkcs12标准,需要消除掉(也可以不消除),使用如下命名: keytool -importkeystore -srckeystore android.keystore -destkeystore newandroid.keystore -deststoretype pkcs12 将上面的android.keystore签名迁移到newandroid.keystore中,其各种参数不变。 截图如下
随着业务复杂度的逐渐增加,代码、资源也在不断的增加,此时你的APP大小也在增加。从用户层面来说,面对动辄几十兆的APP来说在非WIFI情况下还是会犹豫要不要下载,不下载你就可能因此失去了一个用户。从公司层面来讲,流量就是钱,减少APP的大小就显得尤为重要。从开发者层面上来讲,你掌握了这个手艺也会略显逼格满满。
这一章主要针对项目中可以用到的一些实用功能来介绍Android Gradle,比如如何隐藏我们的证书文件,降低风险;如何批量修改生成的apk文件名,这样我们就可以修改成我们需要的,从文件名中就可以看到渠道,版本号以及生成日期等信息,这多方便啊;还有其他突破65535方法的限制等等。
如今的 5 G 也在万众瞩目瞩目下翩翩起舞,而 Android 近些年也惹得不少争议,所谓的谣言,不过尔尔。
最终生成的 app-signed-aligned.apk 签名后文件就是 dex 加密的安装包 , 该安装包中的 dex 文件无法被直接查看 ;
官网:https://ibotpeaches.github.io/ApkTool apktool d students.apk
有多个 Android 项目,希望通过放在 Git 上的通用 pipeline 脚本实线出包 出包成功之后,上传到蒲公英并推送到企业微信。
几年之前,我们要破解 APK,可能需要用到 apktool、dex2jar、jd-gui 以及 smali2java 等工具。还需要在控制台中键入命令,但现在有了集成工具,一切都变得省事了。
都知道的,Android基于Linux系统,然后覆盖了一层由Java虚拟机为核心的壳系统。跟一般常见的Linux+Java系统不同的,是其中有对硬件驱动进行支持,以避开GPL开源协议限制的HAL硬件抽象层。 大多数时候,我们使用JVM语言进行编程,比如传统的Java或者新贵Kotlin。碰到对速度比较敏感的项目,比如游戏,比如视频播放。我们就会用到Android的JNI技术,使用NDK的支持,利用C++开发高计算量的模块,供给上层的Java程序调用。 本文先从一个最简单的JNI例子来开始介绍Android中Java和C++的混合编程,随后再介绍Android直接调用ELF命令行程序的规范方法,以及调用混合了第三方库略微复杂的命令行程序。
对于安卓源代码是Java文件,正向编译过程是把.java->.jar->.apk。而反编译过程正好相反.apk ->.jar->.java。获取了Java源代码,一来可以获取代码信息,二来可以在代码中加入恶意代码,比如信息窃听器,然后再编译成apk文件(这就是所谓的二次编译)。
该系列博客的应用场景是 Android Studio 下 NDK 编程 , 使用 CMake 构建 C/C++ 工程 ;
当我们在讨论依赖时,通常指的是外部依赖,例如其他开发者提供的依赖库。手动管理依赖会是一个大麻烦。你必须找到该依赖,下载JAR文件,将其拷贝到项目,引用它。通常这些JAR 文件在它们的名称中没有版本号,所以你需要添加JAR的版本,以便知道什么时候更新。你还需要确保依赖库中存储在了源代码管理系统,以便团队成员在没有手动下载这些依赖时,也可以使用基于依赖的代码。
1.1.1.打开浏览器输入连接: http://source.android.com/compatibility/downloads.html
领取专属 10元无门槛券
手把手带您无忧上云