Android, KeyStore,版本升级,分渠道发布,混淆

halcon3D 点云拟合球体 halon3D 点云拟合球面 阅读详情
apk的打包




1:版本升级
什么时候这个版本是需要升级的.




首先判断有没有这个应用.使用应用里面的包名.
Version 只是给人看的。
检查签名文件 。签名什么意思呢?对文件进行一次摘要,
C:\Users\XUE\.android\debug.keystore


百度地图。也用到了这个。


如何生成一个KeyStore。


如果没有KeyStore了,你的apk 永远不可以下载升级了。


我们平时的apk 是不可以给任何人的,测试,美工都不可以给这种的。不能给这个版,因为不可以升级,


生成一个签名的apk。


新建KeyStore
Build-》Generate Signed Apk


Key Store path  qiubai.jks


debug-》给测试的
release版本。


一般来说一个公司只有一个KeyStore
如果有一个新的项目就申请一个新的license
有效权限30年。如果是1年,1年之后就无法升级了。


-----------------------------------------------------
混淆
app 里面


    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


release 版本可以混淆,但是debug的不要混淆
minifyEnabled true 代表混淆。


如果是没有第三方库的话,上面那一步就可以了。


如果有第三方库的话,需要配置混淆的配置文件。


就是proguard-rules.pro。这个文件。


Android 中那些类名是不可以被混淆的。
如果类名,属性名,方法名以字符串的形式存在的是不可以被混淆的
service,activity,自定义的空间,onClick 属性,
上面的这些都是不可以被混淆的。


默认的配置文件proguard-android.txt


C:\Android\sdk\tools\proguard\proguard-android.txt


Fresco的官网:
http://frescolib.org/docs/proguard.html#_




Using ProGuard with Fresco Edit on GitHub
Fresco's large download may seem intimidating, but it need not leave you with a large application. We strongly recommend use of the ProGuard tool.


You can download Fresco's ProGuard file, proguard-fresco.pro, and add it to your project.


Android Studio / Gradle
Place a stanza like this in your build.gradle file.


android {
  buildTypes {
    release {
      minifyEnabled true
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-fresco.pro'
    }
  }
}








如果有json 的话,考虑安全的,一定更要混淆,而且要正确的进行混淆。
正确的方式在@SerializedName("format");


fastJson 和Gson的注解。


---------------------------------------------------------
---------------------------------------------------------
不混淆的代码是不可以上线的。
----------------------------------------------------------


分渠道的打包。


豌豆荚,google play,
公司想要知道到底是从哪个渠道商下载的。
之前是自己一个一个的打包,可以用批处理打包,
一般是公司的logo作为默认的logo。
下一个默认的logo。




Project Structure
-》Flavors
新建baidu
wandoujia




新建一个android resource directory 来放图片
Resource type:mipmap
Source set: 选择baidu




Density 
HightDenisity




新建一个xml 文件叫做channel.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="channel_name">默认渠道 </string>
    <integer name="channel_id">1</integer>


</resources>




在baidu ,wandoujia 等目录下面新建values文件夹
然后把channel.xml文件拷贝过去,然后修改
channel_name
channel_id




getString(R.string.channel_name);
getResources().getInteger(R.integer.channel_id)
Toast.makeText(this,..);
;

























Qt 【window udp 高频采集丢包问题】 使用Asio + 无锁队列或者环形缓存区方案可以解决 qt udp 在window平台高速采集 (128k)丢包问题。 阅读详情

相关推荐

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 440

android应用客户端自动升级

<br />import java.io.File;  import java.io.FileOutputStream;  import java.io.IOException;  import java.io.InputStream;    import org.apache.http.HttpEntity;  import org.apache.http.HttpResponse;  import org.apache.http.client.ClientProtocolException;  impo

zhjp4295216的专栏 565

C#海康威视摄像头控制,将IntPtr转换成Bitmap图片

C#通过skd控制海康威视摄像头,获取bitmap格式图片

ReflexMechanism的博客 6586

解决办法Android中Error generating final archive: Debug certificate expired on

注意:本文出自“阿飞”的博客 ,如果要转载本文章,请与作者联系! 并注明来源: http://blog.youkuaiyun.com/faye0412/article/details/6727845 分享: 开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下:...

yuanlanjun 278

用Isaac Sim复现经典案例:手把手教你写Python脚本控制机械臂抓取(附避障算法调试心得)

本文详细介绍了如何使用NVIDIA Isaac Sim仿真系统复现机械臂抓取经典案例,包括Python脚本编写、避障算法调试等关键步骤。通过URDF模型导入、关节控制逻辑实现和RMPFlow避障配置等实战演示,帮助开发者快速掌握机器人仿真技术,特别分享了官方文档未提及的实用调试技巧和性能优化策略。

weixin_30632089的博客 407

ROS牛耕法全覆盖规划:从算法原理到清洁机器人实战解析

本文深入解析ROS牛耕法全覆盖规划算法在清洁机器人中的应用,从算法原理到实战优化技巧全面覆盖。详细介绍了地图预处理、区域分解和路径优化等关键步骤,并分享实际案例中的解决方案,帮助开发者提升机器人清扫效率和覆盖率。

weixin_27013291的博客 392

Android密钥库(AndroidKeyStore)使用

Android 提供了特定于 Android 平台的 KeyStore 实现,称为 AndroidKeyStore,它提供了更高级的安全功能,如硬件支持、密钥链随机生成等。提示:正常我们需要对加密的数据进行本地存储,上述加密数据是ByteArray,字节数组不太适合本地存储,因此我们可以通过Base64将ByteArray数据转换为字符串进行保存,取出数据之时再做Base64解码。:可以使用 KeyStore 来存储和管理双因素身份验证所需的密钥和证书,用于提高身份验证的安全性。它接受一个字符串参数。

Silicon_Valley 1万+

Dify实战应用指南(上传需求稿生成测试用例)

摘要: Dify是一款开源大语言模型应用开发平台,通过低代码/无代码方式支持AI应用开发。平台提供五种核心应用类型,包括聊天助手、文本生成、Agent、ChatFlow和Workflow,适用于不同场景。本文以ChatFlow为例,演示如何上传需求稿自动生成测试用例。通过条件分支、文档提取器和LLM设置,实现从需求文档到测试用例的自动化转换,显著提升测试效率并降低人工误差。该方案适用于需要快速生成测试用例的软件开发场景,尤其适合非技术人员使用。

Linda的自动化测试之旅 2744

不必麻烦安卓工程师的App多渠道打包

完全省去安卓工程师制作渠道包时间(每次升级只须向渠道管理人员提供一个母包即可),同时也节省渠道管理人员时间,并且提供了丰富、实时报表和实时排重、自定义事件统计等功能的创新渠道包制作工具,而且是免费的。   App推广,离不开渠道,识别用户来自哪个渠道,发现渠道质量的高低,是决定App推广决策的关键数据参考,这些工作离不了App渠道统计。   虽说现在已经有了App免打包渠道统计技术,但是,...

同淮 from openinstall 1143

别再乱改宏定义了!STM32F103程序移植保姆级教程(从C8T6到ZET6实战)

本文详细解析了STM32F103程序从C8T6移植到ZET6的实战步骤,重点介绍了硬件差异、开发环境配置、时钟陷阱及外设处理等关键点。通过修改宏定义(如STM32F10X_HD)、调整启动文件和时钟配置,确保移植顺利进行。适合嵌入式开发者参考,避免常见移植问题。

weixin_42567497的博客 215

使用 Simulink Real-Time 搭建一个完整的实时信号采集与滤波系统模型

本文详细介绍了基于Simulink Real-Time构建实时信号采集与滤波系统的完整流程。主要内容包括:系统配置(模型创建与参数设置)、信号采集模块搭建(模拟信号源或真实硬件连接)、实时滤波器设计(浮点/定点)、输出可视化(Scope/ToWorkspace等)、模型编译与下载到目标机、外部模式在线调试及数据保存方法。系统可实现微秒级实时信号处理,适用于工业控制、航空航天等对时间确定性要求高的场景。文章还提供了优化建议(多速率建模、优先级调度等)和应用场景说明,帮助读者快速掌握实时系统开发的核心技能。

amy_mhd的博客 304

安卓项目更新了keystore密钥后Generate Signed APK打包报错

这里说两个文件名冲突,是因为旧的代码包名字和新的代码包名字一样,但是密钥不一样,导致不能覆盖,造成冲突。

weixin_41062211的博客 249

实战:爬取某小程序的订单数据(解析小程序 API 参数)

本文以美团外卖小程序为例,详细分析了电商类小程序订单数据接口的技术实现与采集方法。首先通过抓包定位核心接口,解析其请求参数;重点破解了token验证机制与sign签名加密算法,通过逆向分析还原参数生成逻辑;最后基于Python实现了订单数据的自动化爬取与存储。文章强调数据采集需遵守法律合规性,提供应对反爬机制的策略,并指出了必须在获得合法授权的前提下使用这些技术。该研究为数据采集工程师提供了实用的技术参考,但必须严格遵循"最小必要"原则,确保不违反平台规则和用户隐私保护法规。

2503_91057718的博客 2317

64位Win8系统下WinIO的使用 VS2010 驱动级模拟按键

到WinIO.h、winio_nt.h,并添加到工程中(注意:要手动在winio_nt.h中包含Windows.h头文件)。以下是我写的类: #pragma once #include "WinIo.h" #define KBC_CMD 0x64 #define KBC_DATA 0x60 class CHdio { public:  CHdio(void);  ~CHd

计算机的自我意识 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

windows模拟键盘鼠标事件DirectX游戏中

有一些使用DirectX接口的游戏程序,它们在读取键盘操作时绕过了windows的消息机制,而使用DirectInput.这是因为有些游戏对实时性控制的要求比较高,比如赛车游戏,要求以最快速度响应键盘输入。而windows消息由于是队列形式的,消息在传递时会有不少延迟,有时1秒钟也就传递十几条消息,这个速度达不到游戏的要求。而DirectInput则绕过了windows消息,直接与键盘驱动程序打交

知至智 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android KeyStore总结

一、Android KeyStore的应用 1、存储密匙:Android提供的这个KeyStore最大的作用就是不需要开发者去维护这个密匙的存储问题,相比起存储在用户的数据空间或者是外部存储器都更加安全。注意的是这个密匙随着用户清除数据或者卸载应用都会被清除掉。 2、得益于Android独立的一套密匙库系统,可以提高安全性 二、实例: 1、前提:Android安全相关特性是从Android6.0开始有较大的改动,而KeyStore就是一个很好的体现,很多新特性(如KeyGenParameterSpec)都是

Android 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android keystore简介、生成、查看

三部分keystore简介、生成方式,查看keystore信息 一、keystore简介 Keytool :是一个有效的安全钥匙和证书的管理工具,Java 中的 keytool.exe (位于 JDK\Bin 目录下)可以用来创建数字证书; keystore:数字证书,是一个存储了证书的文件。文件包含证书的私钥,公钥和对应的数字证书的信息。 这里不多介绍了,以下这篇文章讲的可以的,转载代码...

qq_30304193的博客 3万+

android 命令创建签名文件keystore、修改已有keystore的别名密码、密钥库密码,重新签名APK

由于现在开发android JDK基本都是用的1.7及以上,所以低版本的JDK的就不记录了。 首先找到一个文件夹,以下操作都在同一个文件夹内,这样是为了更加方便,当然也可以不这么做,那么后面的命令行中对应文件就要指出路径了, 当然在AndroidStudio中的终端操作也是可以的。 用命令进入这个文件夹,这个命令我就不写出来了 一、创建签名文件 命令: keytool -genkey ...

Alex老夫子的专栏 1万+

安卓ADT项目及升级AS(Android Studio)全攻略

ADT项目(即原Eclipse开发环境下项目)打包、签名、混淆配置 Eclipse项目升级至AS项目及升级过程遇到问题

孤独的狼 2434

Android软件如何自动升级(转)

原文地址:http://www.android123.com.cn/kaifafaq/757.html   有部分Android开发者发现自己的Android软件自动升级遇到了问题.  1. 设置服务器上的版本对比文件,通常来说软件一般在运行时,或每运行几次,比如5次检查下服务器上的某个版本信息文件和当前软件自己的版本号对比,Android上一般我们推荐比较通用的XML编码一个升级文件,里面...

rainbow702的博客 208

Android Pie 引入 Keystore 新特性,安全防护再升级

作者: Lilian Young 和 Shawn Willden, Android 安全团队;Frank Salim, Google Pay 团队我们希望更深入的了解您的开发实践与体验,以便为您构建更好的开发工具。所以我们诚挚的邀请您参与 Android 开发者问卷调研。您的回复是匿名的,我们仅进行汇总分析。此调查仅需 5-10 分钟即可完成。扫描下方☟二维码☟ 参与 Android 开发者问卷调...

weixin_34244102的博客 213

简单keystore操作(更新中)

keytool -list -v -keystore f:\test\key.keystore -storepass 123456 ---查看签名信息,123456是签名的密码

简单就好-怒的博客 4820

OpenLayers 性能优化实战:用一次监听搞定地图上万个点的鼠标交互(附完整代码)

本文详细介绍了OpenLayers性能优化实战,通过全局事件代理模式实现地图上万个点的流畅鼠标交互。文章分析了传统多事件监听的性能瓶颈,提供了单次监听+N次判断的优化方案,并附完整代码实现,显著降低内存占用和CPU使用率,提升交互响应速度。

weixin_33736649的博客 397

apk反编译和混淆及打包签名-keystore问题总结

一、找到apk中的class.dex:把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。二、得到java源文件工具准备:1、把dex文件反编译为jar文件的工具。(dex2jar)http://code.google.com/p/dex2jar/downloads/list 2、把jar反编译为java的工具。(JD-GUI)http...

喧嚣求静 218

Android版本与兼容问题

实习期进行项目开发时遇到一些与Android兼容相关的问题,在自己的虚拟机上测试是可以通过的,但交给主管运行时总会出现一些问题,后来才意识到不同版本的Android会出现不兼容的问题,于是学习了与这方面相关的知识。 一.AndroidManifest.xml中的3个版本配置项 compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { applicationId "com.example.demo01

king_cjr的博客 1156

Android app 内部在线升级

app在线更新是一个比较常见需求,新版本发布时,进入app,会弹出更新提示框,第一时间更新新版本app。在线更新分为以下几个步骤: 1.请求api 2.检查版本 3.下载最新版本apk 4.安装apk 下载apk如下: // mUpgradeAddress:下载apk的地址,size: apk的大小 private void downloadAPK(String mUpgradeAddress,int size) { try { UR.

why_111的博客 3268
上一篇: 4.2.5 Android 下拉刷新的几个方法:SwipeRefreshLayout,android-Ultra-Pull-To-Refresh(ptr),PullToRefreshListView
下一篇: RecyclerView Android RecyclerView 使用完全解析 体验艺术般的控件
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值