android打包
Luckie stone
Android应用开发。
展开
-
Gradle项目的公共仓库配置
1、进入Maven Center官网“http://mvnrepository.com/”。5、将该图中Gradle选项中对应的内容复制到build.gradle.kts文件中。2、在搜索栏搜索需要依赖的Jar包,如okhttp。3、 在窗口中找到需要的jar包,点击该jar包。4、点击需要的版本。会看到如下图所示的信息。原创 2023-09-05 14:44:14 · 380 阅读 · 0 评论 -
数据加密和数据签名+Android签名
数据加密:用公钥加密,只能用自己的私钥解密,因为私钥只有你自己有,所以别人不可能能够解密,看到你的内容,保证了数据的保密性。数据签名:用私钥加密,只能用公钥解密,任何人都可以用公钥解密。因为私钥只有你自己有,所以保证了该数据肯定是从你这发送出去的,不可能是别人发的。Android签名:1、每一个文件进行数字编码,生成一个唯一的SHA256的值=MANIFEST.MF。2、对...原创 2020-04-12 17:06:19 · 371 阅读 · 0 评论 -
点击 Android Studio 的 build 按钮后发生了什么
你一定会问,点击Build后(我理解是 Build > Make Module module-name),还能发生什么,无非是安装在模拟器或者真机上一个App呗~.没错,但是,这个问题的本意一定没这么简单。gradle插件要构建和运行应用,请点击 Run 。Android Studio 使用 Gradle 构建您的应用,会要求您选择部署目标(模拟器或连接的设备),然后将您的应用部署至...转载 2018-07-20 06:31:17 · 1053 阅读 · 0 评论 -
搞懂 Android Studio 构建那些事
1.Android 构建系统构建 APK 的过程是个相当复杂的过程,Android 构建系统需要将应用的资源文件和源文件一同打包到最终的 APK 文件中。应用可能会依赖一些外部库,构建工具要灵活地管理这些依赖的下载、编译、打包(包括合并、解决冲突、资源优化)等过程。应用的源码可能包括 Java 、RenderScript、AIDL 以及 Native 代码,构建工具需要分别处理这些语言的编...转载 2018-07-20 06:31:26 · 1219 阅读 · 0 评论 -
Gradle-Wrapper详解
Gradle-Wrapper是简化Gardle的安装和部署,如果本地没有部署Gardle就使用Gardle-Wrapper;gradle-wrapper位于项目根目录下的gradle目录中的wrapper目录下;1. gradle-wrapper.zipgradle-warpper需要的jar包;2. gradle-wrapper.properties 构建项目时会自动根据gr...转载 2018-08-21 06:27:27 · 925 阅读 · 0 评论 -
Android Studio在导入已有项目时 Building 'XXX' Gradle project info 一直卡住
Android Studio在导入已有项目的时候,一直卡在Building ‘XXX’ Gradle project info这里不动,主要是被墙的结果。gradle官网虽然可以访问,但是速度很慢。 解决办法主要有两种:一是直接下载gradle离线包,二是修改项目的gradle-wrapper.properties里的gradle版本为自己电脑已有的版本。1. 离线包下载导入方式(一劳永逸)...转载 2018-08-21 06:28:29 · 177 阅读 · 0 评论 -
Android Studio如何引入so包
结论:so包应该放在相应模块(比如app模块)下的src目录下的main目录下的jniLibs目录。注意是jniLibs,最后边有个s,不是jniLib,并且L要大写。如果你在src/main目录中看不到jniLibs目录,那你只需要自己建一个这个目录就可以了,然后把你的so包按编译平台分类拷贝进去就可以了。然后呢?然后就完了,就这样就可以了,因为系统默认就会去这个目录中找对应的so包。如...转载 2019-07-04 06:44:47 · 2866 阅读 · 0 评论 -
Android使用SO库时要注意的一些问题
正好动态加载系列文章谈到了加载SO库的地方,我觉得这里可以顺便谈谈使用SO库时需要注意的一些问题。或许这些问题对于经常和SO库开发打交道的同学来说已经是老生长谈,但是既然要讨论一整个动态加载系列,我想还是有必要说说使用SO库时的一些问题。在项目里使用SO库非常简单,在加载SD卡中的SO库中也有谈到,只需要把需要用到的SO库拷贝进jniLibs(或者Eclipse项目里面的libs)中,...转载 2019-07-04 06:46:35 · 1371 阅读 · 0 评论 -
Gradle修改applicationId使正式版本和开发版本共存
首先使用applicationIdSuffix修改applicationIdbuildTypes { release { minifyEnabled true proguardFiles 'proguard-rules.txt' shrinkResources true //注意增加keep ...转载 2019-07-07 10:38:44 · 997 阅读 · 0 评论 -
android studio 使用本地gradle的配置
我下载的gradle是4.3版本的,大家可以在百度上搜索gradle即可去官网下载。然后复制到android studio安装目录下的gradle文件夹下,并解压;压缩包和解压后的文件夹都需要保留:然后在android studio里面切换到project,打开gradle-wrapper.properties文件,将gradle修改为4.3版本,并将distributionUrl换成...转载 2019-07-07 11:13:21 · 8403 阅读 · 0 评论 -
android studio release版本下打印输出日志
只需要 debuggable true 加入 buildTypes {}buildTypes { release { minifyEnabled false debuggable true //true代表开启 false 关闭 proguardFiles getDefaultProguardFile('proguard-an...原创 2019-07-19 07:06:13 · 4562 阅读 · 0 评论 -
Android 技术揭秘之代码混淆
由于最近使用studio开发的比例大大加重,这次就聊聊studio吧: 一、什么是混淆?为什么要混淆呢? 首先混淆就是将代码打乱,在反编译的时候回出现a.b.c等等代码,代码不易泄露。 二、混淆开关: minifyEnabled true: 打开混淆控制 三、排除未使用的资源文件不打入...转载 2018-07-25 06:08:15 · 281 阅读 · 0 评论 -
Android Studio 打包 jar 及 aar 包
创建工程New -> Module -> Library 在gradle文件头添加 apply plugin: ‘com.android.library’打包模块在库工程的 build.gradle 中最下方加入如下配置示例:// 删除已存在的 Jar 包task deleteOldJar(type: Delete) { delete 'build/libs...转载 2018-07-24 06:34:44 · 304 阅读 · 0 评论 -
Android targetSdkVersion 原理
前几天 Google 官方发布文章解析 compileSdkVersion、minSdkVersion 以及 targetSdkVersion 的含义,以及合理设置各个值的意义,原文 Picking your compileSdkVersion, minSdkVersion, and targetSdkVersion(后面简称 “原文”),还有翻译版。其中,compileSdkVersion ...转载 2018-07-20 06:30:58 · 202 阅读 · 0 评论 -
Proguard语法及常用proguard.cfg代码段
本文主要ProGuard常用语法、标准proguard.cfg文件内容、常用proguard.cfg代码段及proguard与log level结合解决debug模式日志问题。关于ProGuard的作用、使用及bug分析可见ProGuard的作用、使用及bug分析。1、ProGuard的常用语法-libraryjars class_path 应用的依赖包,如android-support-v4-k...转载 2018-05-23 11:07:33 · 272 阅读 · 0 评论 -
Android 代码混淆之部分类不混淆的技巧
在编写Android程序之后,我们通常要代码进行混淆编码,这样才能保证市场上我们的应用不会被别人进行反编译,然后破解,所以此时需要在发布正式版本的时候,有一些类事不能混淆的,比如实现了 Serializable 接口的,否则反序列化时会出错,这种情况下,我们可以简单的通过在proguard.cfg(Eclipse)添加配置来解决:-keepnames class * implements ja...转载 2018-05-23 11:06:27 · 3836 阅读 · 0 评论 -
怎么解决android开发的百度地图的签名问题
相信很多人在开发百度地图的时候会出现百度地图有时候会加载不出来,只显示网格图。 这个问题究其原因就是申请百度key的时候填写的SHA1也就是指纹证书有问题。估计很多开发者都是照着百度开放平台上介绍的流程去申请的。 当然,照着百度开放平台上去申请是没错的。但是上面介绍的申请得到的指纹证书只是本地开发环境存在的默认签名文件debug.keystore的指纹证书。流程如下: 第一步:打开命令...转载 2018-05-21 05:55:35 · 509 阅读 · 0 评论 -
Android 7.0新签名机制
由于之前的打包机制是采用Python进行打包的,导致打包后的apk在7.0上无法进行安装,特此研究下android7.0的签名机制Android7.0加强了签名的加固,导致在新的签名机制下无法使用修改apk文件的方式进行多渠道打包,首先再说一下打包的流程,整个打包的流程就是将Java代码,资源文件以及第三方库整合成一个Apk文件,并对整合后的文件进行签名和优化对其。 1.资源预编译 为每一个非as...转载 2018-05-21 05:49:10 · 434 阅读 · 0 评论 -
通过DOS命令来完成apk签名
给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool、jarsigner和zipalign,下面是对这3个工具的简单介绍: 1)keytool:生成数字证书,即密钥,也就是上面说到的扩展名为.keystore的那类文件; 2)jarsigner:使用数字证书给apk文件签名; 3)zipalign:对签...转载 2018-05-19 22:51:49 · 850 阅读 · 0 评论 -
android应用修改签名影响
微信不能分享和支付。删除重新生成应用,快的话12个小时最慢12天。原创 2018-05-19 22:16:49 · 5221 阅读 · 0 评论 -
android应用签名注意事项
微信不能分享和支付。转载 2018-05-19 22:00:36 · 476 阅读 · 0 评论 -
Android安全攻防战,反编译与混淆技术完全解析(上)
反编译我们都知道,Android程序打完包之后得到的是一个APK文件,这个文件是可以直接安装到任何Android手机上的,我们反编译其实也就是对这个APK文件进行反编译。Android的反编译主要又分为两个部分,一个是对代码的反编译,一个是对资源的反编译,我们马上来逐个学习一下。 在开始学习之前,首先我们需要准备一个APK文件,为了尊重所有开发者,我就不拿任何一个市面上的软件来演示了,而是自...转载 2018-07-20 06:31:34 · 144 阅读 · 0 评论 -
Android安全攻防战,反编译与混淆技术完全解析(下)
混淆本篇文章中介绍的混淆技术都是基于Android Studio的,Eclipse的用法也基本类似,但是就不再为Eclipse专门做讲解了。 我们要建立一个Android Studio项目,并在项目中添加一些能够帮助我们理解混淆知识的代码。这里我准备好了一些,我们将它们添加到Android Studio当中。 首先新建一个MyFragment类,代码如下所示:public class...转载 2018-07-20 06:31:41 · 264 阅读 · 0 评论 -
Android项目该如何选择targetSdkVersion
新手的第一个Android项目或许没有认真考虑过如何选择targetSdkVersion的问题,也或许还有一部分像TeachCourse一样的开发者,积累一些工作经验后才回头来思考这个问题。那么该如何选择一个targetSdkVersion的属性值?一个属性值为23的targetSdkVersion表示什么含义?那么API 24和Android 7.0又是什么关系?为什么API 19开发的Andr...转载 2018-07-20 06:30:39 · 532 阅读 · 0 评论 -
ProGuard的作用、使用及bug分析
本文主要ProGuard的作用、使用及bug分析。1、ProGuard作用ProGuard通过删除无用代码,将代码中类名、方法名、属性名用晦涩难懂的名称重命名从而达到代码混淆、压缩和优化的功能,跟JavaScript的混淆压缩类似。压缩和优化使得编译后apk包更小。混淆可以保证代码在被反编译后读懂的难度很大,防止逆向工程。这点也是我们在应用发布前需要ProGuard的一大原因。 2、ProGuar...转载 2018-05-23 11:08:57 · 334 阅读 · 0 评论