AndroidManifest修改重打包全过程
AndroidManifest修改重打包全过程:
作者: 蔡建良 2013-06-26
准备工具:
apktool.jar和signapk.jar
下载:
http://download.csdn.net/detail/janehlp/5651605
1)采用apktool命令行反编译apk资源文件。
>apktool d c:\GPS.Test.Plus_1.2.4.apk D:\Java\android_apk\cracked\GPS.Test.Plus_1.2.4
2)修改androidAndroidManifest.xml文件,修改主程序activity配置。
添加两处:
android:exported="true"
和
<intent-filter>
<action android:name="com.eclipsim.gpsstatus.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
完整配置如下:
<activity android:label="@string/app_label" android:icon="@drawable/icon" android:name="GPSStatus" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.eclipsim.gpsstatus.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
被调用的包名为: com.eclipsim.gpsstatus。
被调用的Action名为: com.eclipsim.gpsstatus.VIEW。
3)采用apktool命令行将修改后资源打包成apk。
>apktool b D:\Java\android_apk\cracked\GPS.Test.Plus_1.2.4 mynew.apk
4)采用signapk对apk进行签名。
>java -jar signapk.jar testkey.x509.pem testkey.pk8 mynew.apk mynew2.apk
最后,mynew2.apk为最终安装包文件,安装后就能被其它程序调用。
5) android程序调用代码。
String gpsStatusAction = "com.chartcross.gpstestplus.VIEW";
String gpsStatusPackage = "com.chartcross.gpstestplus";
boolean hasGpsStatus = false;
List<PackageInfo> installedPackages = new ArrayList<PackageInfo>();
installedPackages = context.getPackageManager().getInstalledPackages(0);
if (installedPackages.size() == 0)
installedPackages = context.getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES);
if (installedPackages.size() > 0) {
for( PackageInfo packageInfo : installedPackages ) {
String packageName = packageInfo.packageName;
if (packageName.startsWith(gpsStatusPackage)) {
hasGpsStatus = true;
break;
}
}
} else {
hasGpsStatus = true;
}
if (hasGpsStatus) {
Intent intent = new Intent(gpsStatusAction);
context.startActivity(intent);
} else {
}
AndroidManifest修改重打包全过程的更多相关文章
- 用Advanced Installer制作DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版详解
关于 DotNetBar for Windows Forms 12.0.0.1_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- Atitit.项目修改补丁打包工具 使用说明
Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...
- DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解
关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版------------- ...
- DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- DotNetBar for Windows Forms 12.1.0.0_冰河之刃重打包版 原创发布
关于 DotNetBar for Windows Forms 12.1.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- DotNetBar for Windows Forms 11.8.0.8冰河之刃重打包版
关于 DotNetBar for Windows Forms 11.8.0.8_冰河之刃重打包版 基于 官方原版的安装包 + http://www.cnblogs.com/tracky 提供的补丁DL ...
- android 签名验证防止重打包
网上资料很多,这里只做一个笔记反编译 dex 修改重新打包签名后 apk 的签名信息肯定会改变,所以可以在代码中判断签名信息是否被改变过,如果签名不一致就退出程序,以防止 apk 被重新打包. 1 j ...
随机推荐
- win32空项目创建窗体
#include "stdafx.h" //窗口过程函数(系统自动调用,即回调函数)LRESULT WINAPI MsgProc(HWND hWnd,UINT msg,WPARAM ...
- 李洪强iOS面试总结之- FMDB
n什么是FMDB pFMDB是iOS平台的SQLite数据库框架 pFMDB以OC的方式封装了SQLite的C语言API p nFMDB的优点 p使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 ...
- JLink 软件复位、Halt及运行小工具
调试硬件时常常需要复位目标芯片,每次断电上电太麻烦,又不喜欢总打开segger的命令行,于是就搞了这个小工具: QT绿色软件,解压即可运行,打开JLinkRST.exe,点击Connect即可通过 ...
- 对所有CPU寄存器的简述(16位CPU14个,32位CPU16个)
32位CPU所含有的寄存器有:4个数据寄存器(EAX.EBX.ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES.CS.SS.DS.FS和GS)1 ...
- stanford-postagger中文词性标注
安装 系统需要安装Java1.6+ http://nlp.stanford.edu/software/tagger.shtml 下载Download full Stanford Tagger vers ...
- spring路径通配符
在应用Spring的工程中,使用class path的方式加载配置文件应该是最常用的做法,然而对大部分人来说,刚开始使用Spring时,几乎都碰到过加载配置文件失败的情况,除了配置上的错误外,很多时候 ...
- rqnoj-106-最大加权矩形-dp
和我之前做的那个切西瓜的题目相比就是小巫见大巫了.. 运用最长字段和的原理把O(n^4)转化成O(n^3) #include<stdio.h> #include<string.h&g ...
- GMT与UTC
时间概念 — 24时区.GMT.UTC的意涵 许多人都知道两地时间表简称为GMT或UTC,而世界时区表则通称为World Time ,那么GMT与UTC的实质原意又是为何?世界时区又是怎么区分的?面盘 ...
- H5移动前端完美布局之padding
序上次的提到了H5移动前端完美布局之-margin百分比的使用margin-top(left,right,bottom)的百分比在移动页面布局中对上下左右距离的处理,攻下城外再攘城内,今天看看padd ...
- HDU4749 Parade Show(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4749 题意:给出两个数字串A.B.问A中有多少不相交的子串a能匹配B.匹配的意思是a中任意两个位置i和 ...