android打包apk文件
Ⅰ 如何应用安卓APK文件进行解包打包和修改
不需要解包跟打包,直接修改就可以,修改的的方法。
如下参考:
1.将需要修改的apk包复制到100apktool的路径中。注意:您需要将文件名更改为123apk,如下图。
Ⅱ 如何利用Eclipse工具打包签名AndroidApk文件
用eclipse软件打包app安卓客户端免费下载
链接:https://pan..com/s/1XhnUmAQhA468EC4xt29ZmA
Eclipse 是一个开放源代码的、基于java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
Ⅲ (五)Android多渠道打包:美团多渠道打包原理以及使用
1.传统打包:
传统的打包方法都是在AndroidManifest添加渠道标示,每打一次包修改一次标示的名称。效率特别的低,一个稍微大一点的项目打上几十个渠道包可能需要几个小时半天的时间。
2.由于传统的打包方式每次修改渠道都需要重新的构建项目,时间都浪费构建上面了,美团提供了一种新的打包方案:
Android应用使用的APK文件就是一个带签名信息的ZIP文件,根据 ZIP文件格式规范,每个ZIP文件的最后都必须有一个叫 Central Directory Record 的部分,这个CDR的最后部分叫”end of central directory record”,这一部分包含一些元数据,它的末尾是ZIP文件的注释。注释包含Comment Length和File Comment两个字段,前者表示注释内容的长度,后者是注释的内容,正确修改这一部分不会对ZIP文件造成破坏,利用这个字段,我们可以添加一些自定义的数据,Packer-Ng方式打包就是在这里添加和读取渠道信息。打包神器,100个渠道包只需5s 哈哈 。
原理很简单,就是将渠道信息存放在APK文件的注释字段中。
第一步:直接将PackerNg作为Utils拷贝到项目中。
第二步:创建一个保存渠道包名的txt文件,可以放在项目主目录下:比如命名market.txt
渠道名可以按照需求随便添加
an
huawei
legend
letv
meizu
oppo
qq
PC
sougou
UC
update
update1
vivo
wandoujia
woshangdian
xiaomi
第三步:ChannelUtil这个工具类是用于取出文件里的渠道名
第四步:打开第二步中的PackerNg类,首先配置一下此类main函数中接受的参数信息。本事例通过Android Studio的方式进行配置直接上图:
图中标注3的位置就是PackerNg类配置main函数中接受的两个参数: 第一个参数为默认的release包的apk源文件,包名为ChannelUtil起初默认的包名
拿到这个包名可以传给后台进行统计或进行其它的操作。
第六步:运行PackerNg类,会在项目目录下自动生成文件夹apks(在PackerNg.java文件中配置好的apk渠道包存储路径)
注意点:第四步中ChannelUtil起初默认的包名为源文件,其它所有的的渠道包都是通过PackerNg打包方式都是以这个源文件为模版,进行复制,将不同的渠道名复制给这个源文件。如果是360渠道上线的话需要将这个包名默认改为360的渠道单独打包,因为360上线需要加固,会把之前通过源文件复制渠道名给抹掉,所以对于360加固的文件需要单独把360作为源文件来打包不改为360默认的渠道包后会统计不到360渠道的信息。
Ⅳ 如何应用安卓APK文件进行解包打包和修改
不需要解包跟打包,直接修改就可以,修改的的方法。
如下参考:
1.将需要修改的apk包复制到100apktool的路径中。注意:您需要将文件名更改为123apk,如下图。
Ⅳ Taro 打包apk步骤(Android 打包)
taro版本2.2.13
1、 把项目根目录下的rn_temp文件夹复制到壳子根目录(taro-native-shell)下,再把rn_temp文件夹下的index.js文件复制到壳子根目录(taro-native-shell)下
2、打开壳子根目录下的index.js文件,修改“import App from './app.js';”为“import App from './rn_temp/app.js';”,修改“ import {name as appName} from './app.json';”为“ import {name as appName} from './rn_temp/app.json';”,如下图
3、终端进入壳子根目录(taro-native-shell),执行命令
会在android/app/src/main/assets文件夹下生成index.android.bundle文件
4、修改MainApplication中的getJSMainMoleName方法的返回值为“index.android.bundle”
5、终端中cd进入到android目录下,执行命令
等运行完成
你就可以在taro-native-shell/android/app/build/outputs/apk/release中看到打包出来的apk包了
或者可以按照Android studio的方式进行打包也可以。
Ⅵ Android APK打包流程备忘
APK文件的组成部分及apk打包流程是Android开发中的基础知识点,做一个简单的记录。
apk文件是Android应用包文件格式,其本质是一个压缩文件。将apk文件拖动到Android Studio中即可查看里面的内容,如下图:
从上图中可以看到apk包里的几个重要组成部分:
打包流程的经典流程图如下:
其中七个椭圆形内容对应了打包流程中的七个重要步骤,也对应着打包中的七个重要工具,具体如下:
对上面七个重要的打包流程进一步说明。
aapt打包资源文件,生成R.java文件,resources.arsc等文件。
aapt在打包资源文件之前会检测 AndroidManifest.xml 文件的合法性,对res目录下的资源目录进行扫描合法性,因此资源命名有问题时会在编译阶段就会直接报错。
需要注意的是xml文件会被编译为二进制的,因此我们并不能直接打开apk包中的xml文件。
AIDL是Android接口定义语言,是Android进程间通讯的一种实现方式。
此步骤中会对aidl文件进行处理,生成java文件。
通过javaCompiler对java文件进行编译,生成class文件。
dx工具将class文件转变为Android系统Dalvik虚拟机可执行的Dex文件。
将classes.dex,res文件夹等所有文件打包成apk文件。
生成APK包之后还需要进行签名处理,Release签名需要我们自己去进行配置。
常用的签名方式有两种:jarsigner和apksigner。
Zipalign是Android平台上APK文件对齐的整理工具,能够对APK中未压缩的数据进行4字节对齐。
需要注意的是根据采用签名方式的不同,对齐处理的先后顺序有所区别。
APK打包流程备忘。
Ⅶ android studio怎样运行打包后的apk
android studio怎样运行打包后的apk
渠道信息一般在 AndroidManifest.xml中修改以下值: 首先你必须在AndroidManifest.xml中的meta-data修改以下的样子: 其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。 build.gradle文件就利用proctFlavors
渠道信息一般在 AndroidManifest.xml中修改以下值:
首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。
build.gradle文件就利用proctFlavors这样写:
proctFlavors {
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
{
manifestPlaceholders = [UMENG_CHANNEL_VALUE: ""]
}
c360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]
}
uc {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]
}
}
其中[UMENG_CHANNEL_VALUE: "wandoujia"]就是对应${UMENG_CHANNEL_VALUE}的值。
最新更新
后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法
proctFlavors {
wandoujia {}
{}
c360 {}
uc {}
proctFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
其手液数中name的值对相对应各个proctFlavors的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。
一次生成所有渠道包
在android studio底栏中有个命令行工具Terminal,打开后就CMD可以自动切换到当前项目的目录下。
有的项目下会有graldew.bat这个文件,你就可以输入这个命令:
gradlew assembleRelease
就可以一次性生成所有的渠道包了
不过我一般不建议大家使用这个命令,gradlew这个命令的gralde的版本无法控制,有时候会莫名其妙的下载老版本的gradle
所以我个人推荐大家使用以下的用法。
先找到gralde的根目录,在毕首系统变量里添加两个环境变量:
变量名为:GRADLE_HOME,变量值就为gradle的根目录;
所以变量值为:C:Usersyazhou.gradlewrapperdistsgradle-2.1--2.1
还有一个在系统变量里PATH里面添加gradle的bin目录
我的就是C:Usersyazhou.gradlewrapperdistsgradle-2.1--2.1in
这里配埋指置完成了,接着在Terminal中敲下 gradle assembleRelease就可以一次性生成所有的渠道包了。
所有生成的apk在项目的buildoutputsapk下。
如果只是想生成单个渠道的包呢?
打开Android Studio的Gradle tasks面板(右边侧边栏),会发现模块多了很多任务,如下图所示。
渠道信息一般在 AndroidManifest.xml中修改以下值: 首先你必须在AndroidManifest.xml中的meta-data修改以下的样子: android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" /> 其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle...
android studio怎么运行apk包
渠道信息一般在 AndroidManifest.xml中修改以下值:
首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />
其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定义配置的值。
build.gradle文件就利用proctFlavors这样写:
proctFlavors {
wandoujia {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
{
manifestPlaceholders = [UMENG_CHANNEL_VALUE: ""]
}
c360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]
}
uc {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]
}
}
其中[UMENG_CHANNEL_VALUE: "wandoujia"]就是对应${UMENG_CHANNEL_VALUE}的值。
最新更新
后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法
proctFlavors {
wandoujia {}
{}
c360 {}
uc {}
proctFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}
其中name的值对相对应各个proctFlavors的选项值,这样就达到自动替换渠道值的目的了。
这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。
一次生成所有渠道包
在android studio底栏中有个命令行工具Terminal,打开后就CMD可以自动切换到当前项目的目录下。
有的项目下会有graldew.bat这个文件,你就可以输入这个命令:
gradlew assembleRelease
就可以一次性生成所有的渠道包了
不过我一般不建议大家使用这个命令,gradlew这个命令的gralde的版本无法控制,有时候会莫名其妙的下载老版本的gradle
所以我个人推荐大家使用以下的用法。
先找到gralde的根目录,在系统变量里添加两个环境变量:
变量名为:GRADLE_HOME,变量值就为gradle的根目录;
所以变量值为:C:Usersyazhou.gradlewrapperdistsgradle-2.1--2.1
还有一个在系统变量里PATH里面添加gradle的bin目录
我的就是C:Usersyazhou.gradlewrapperdistsgradle-2.1--2.1in
这里配置完成了,接着在Terminal中敲下 gradle assembleRelease就可以一次性生成所有的渠道包了。
所有生成的apk在项目的buildoutputsapk下。
如果只是想生成单个渠道的包呢?
打开Android Studio的Gradle tasks面板(右边侧边栏),会发现模块多了很多任务。
android studio怎么打包apk的
Android App都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到Android手机上,下面介绍Android Studio如何打包签名的相关经验,希望能帮助大家。
:jingyan../article/5552ef47e5d18d518efbc96b.
android studio怎么打包apk
(1)Android Studio菜单Build->Generate Signed APK
(2)弹出窗口
(3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过)
点击“Create new...”按钮创建密钥库
Key store path:密钥库文件的地址
Password/Confirm:密钥库的密码
Key:
Alias:密钥名称
Password/Confirm:密钥密码
Validity(years):密钥有效时间
First and Last Name:密钥颁发者姓名
Organizational Unit:密钥颁发组织
City or Locality:城市
Country Code(XX):国家
(4)选择已存在密钥库及密钥(在(3)中创建密钥库后跳过此步骤)
点击“Choose existing...”按钮找到密钥库文件
Key store password输入已选择的密钥库文件的密码
点击Key alias后的“...”按钮,选择或者创建一个密钥
(5)点击“Next”按钮,选择保存路径后,点击“Finish”按钮完成
android studio怎么打包成apk
打开你的项目,点击上面build-->genarate signed apk-->选择你的moled-->点击next-->
下面就和eclipse差不多了,有签名key就choose existing没有就create一个,next-->选择你要放apk的文件夹,点击finish,等待打包完成。
android studio 打包的apk在哪
1.Eclipse下App放置在项目根目录的bin目录中2.而Androidstudio大改后,放在了mole中,所以你一定要记得你的存放路径。也就是工程对应的文件夹。androidstudio工程的存储路径下app/build/outputs/apk其中app是你的mole,在对应的mole下即可找到
打包成4.4.2的apk能运行在android 4.3么
有人在电脑上用过android x86 4.4.2系统吗?为什么我为什么我在这个系统...
答:我在上网本上装过,android_x86_4.4_RC1,确实有很多兼容性问题,可能是开发还未成熟。所以体验一下后又卸载了。
android studio 怎么打包各平台apk
(1)Android Studio菜单Build->Generate Signed APK
(2)弹出窗口
(3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过)
点击“Create new...”按钮创建密钥库
Key store path:密钥库文件的地址
Password/Confirm:密钥库的密码
Key:
Alias:密钥名称
Password/Confirm:密钥密码
Validity(years):密钥有效时间
First and Last Name:密钥颁发者姓名
Organizational Unit:密钥颁发组织