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 ...
随机推荐
- 8 Types Of Friends You Need To Have in Your Life
8 Types Of Friends You Need To Have in Your Life一生中应该有的8种类型的朋友Did you know that people without frien ...
- 什么是A股、B股、H股、蓝筹股、红筹股
A股 A股的正式名称是人民币普通股票.它是由我同境内的公司发行,供境内机构.组织或个人(不含台.港.澳投资者)以人民币认购和交易的普通股股票,我国A股股票市场经过几年快速发展,已经初具规模. B股 B ...
- 关于LINUX权限-bash: ./startup.sh: Permission denied
关于LINUX权限-bash: ./startup.sh: Permission denied <script type="text/javascript"></ ...
- CentOS下下删除大量文件
首先建立50万个文件 ➜ test for i in $(seq 1 500000);do echo text >>$i.txt;done 1. rm ➜ test time rm -f ...
- JSP Session管理
本篇讲述JSP中session的相关知识和管理方法: 先说说cookie与session 在web中常用的两种用户信息管理方式:cookie 和 session. cookie是保存在用户客户端的 ...
- 解决Hibernate Write operations are not allowed in read-only mode的方法
错误信息: org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed i ...
- Ext的正则表达式
http://www.cnblogs.com/azai/archive/2010/12/31/1923140.html 今天看到一篇关于Extjs正则表达式比较系统的总结. 使用extJs时能常用 ...
- Android里的多线程知识点
1.Thread类与Runnable接口 子类继承Thread类实现跑自己逻辑的run方法,在调用Thread类的start方法后,会自动调用run方法,该对象只可以调用一次start方法,即Thre ...
- [每天一道A+B]签到检测程序
签到检测程序,解析github提供的api内的json,解决了服务器和本地时间不同步的问题(时差+8H),实现按日期更新当前签到表.下一步是从api获取organization的信息,求出未签到的成员 ...
- iOS-APP中添加启动界面
iOS,非常高兴的又回到了这个领域.纠结的就业之路...找工作的这段时间里,原本以为是iOS的游戏开发,却一直只有后台的offer,到Android,最后正式上班的时候却被告知调到了iOS开发,当然不 ...