使用Gradle将apk安装包输出到指定的目录

前言

我使用的Android stuido开发android项目,现在有A项目和B项目,B项目中需要用到A项目的apk包(A项目的apk放到B项目的assets目录下)

代码

apply plugin: ‘com.android.application‘
//这里是要输入的路径
def outputPathName = "/Users/zsl/Downloads/Bproject/assets/some.apk"

android {
    signingConfigs {
        demo {
            keyAlias ‘Demo‘
            keyPassword ‘.......‘
            storeFile file(‘/Users/zsl/Downloads/android/appkey/keydemo.jks‘)
            storePassword ‘.......‘
        }
        Full {
            keyAlias ‘Full‘
            keyPassword ‘.......‘
            storeFile file(‘/Users/zsl/Downloads/android/appkey/key.jks‘)
            storePassword ‘.......‘
        }
    }
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId "com.zsl.fglass"
        minSdkVersion 10
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    productFlavors {
        demo {
            applicationId "com.zsl.fglass.demo"
            versionName "1.0"
        }
        full {
            applicationId "com.zsl.fglass.full"
            versionName "1.1"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
        }

        debug {
            debuggable true
        }
    }
    //这是应用编译完成
    applicationVariants.all { variant ->
        variant.outputs.each  { output ->
            //开始输出
            output.outputFile = new File(outputPathName)
        }
    }
}

dependencies {
    compile fileTree(include: [‘*.jar‘], dir: ‘libs‘)
    compile ‘com.android.support:appcompat-v7:22.1.1‘
}

描述

这里的核心代码就两个(如下),我们先声明需要输出的路径然后在应用编译完成之后执行输出方法

核心代码总结

  • 声明输出路径
def outputPathName = "/Users/zsl/Downloads/Bproject/assets/some.apk"
  • 执行输入
//这是应用编译完成
applicationVariants.all { variant ->
     variant.outputs.each  { output ->
           //开始输出
           output.outputFile = new File(outputPathName)
      }
}
时间: 2024-10-11 23:05:39

使用Gradle将apk安装包输出到指定的目录的相关文章

apk安装时把程序附带文件拷贝到手机指定目录下

项目已搞定,今天把.apk文件弄到另外一台非调试手机上用,发现一个问题.因为要画图,所以绘图的点的数据保存在一个.txt的文本文件中,上次直接把它用usb传到指定文件夹下的,但是明显不科学,因为用户下载了你的.apk文件,你却告诉他,还要把这个文本文件拷贝到指定的文件夹下,所以,我就要解决这个问题,就是把文本文件打包在apk文件中,安装.apk时就让创建一个程序文件夹,然后把文本文件拷贝到这个目录文件夹里,用户运行程序,就可以绘图,不用再让他拷贝一份绘图的点的坐标的数据.同理,其实我这里还有设计

深度探究apk安装过程

一.先验知识 0.PcakageaManagerService版本变化 1.概述 2.PackageManagerService服务启动流程 3. PackageManagerService入口 二.四种安装方式 1.系统应用安装2.网络下载应用安装3. ADB工具安装 4.第三方应用安装 三.总结 概述 1.1概述 众所周知,Android应用最终是打包成.apk格式(其实就是一个压缩包),然后安装至手机并运行的.APK即Android Package的缩写. Android系统在启动的过程中

Android 下载APK 安装APK 打开APK

今天有了一个这样的需求 :下载一个apk文件,然后当你下载完成后,按钮的文字发生改变,变成点击安装,然后安装完成之后,变成打开. 这是下载apk的方法: /** * 后台在下面一个Apk 下载完成后返回下载好的文件 * * @param httpUrl * @return */ private File downFile(final String httpUrl) { new Thread(new Runnable() { @Override public void run() { try {

apk安装和优化原理

0x00 apk安装的方式有: 1.开机启动时安装 2.通过adb install 或者在手机中点击apk,进行界面安装. 0x01 开机启动后在system_server中调用PackageManagerService.main,随着调用的深入,循环对每个apk都调用scanPackageLI方法,这个函数提取apk的AndroidManifest.xml里面的内容放在PackagemanagerService中,并且安装了apk,还有优化了dex. 安装apk的代码: int ret = m

APK安装流程概述

pre { background: transparent none repeat scroll 0% 0%; border: 1px solid rgb(0, 0, 0); padding: 0.04cm; direction: ltr; color: rgb(0, 0, 0) } pre.western { font-family: "Liberation Mono", "Courier New", monospace } pre.cjk { font-fami

Android源代码解析之(十三)-->apk安装流程

转载请标明出处:一片枫叶的专栏 上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定文件夹.解析apk文件并安装的过程,这个安装过程实际上是没有图形界面的,底层调用的是我们平时比較熟悉的adb命令,那么我们平时安装apk文件的时候大部分是都过图形界面安装的,那么这样的方式安装apk详细的流程是如何的呢? 本文我们就来详细看一下apk的详细安装过程,通过本文的学习希望帮助大家大概的了解到Android系统安装Apk文件的基本流程.好

Gradle 梳理:安装、入门使用方法

原文地址:http://rominirani.com/2014/07/28/gradle-tutorial-part-1-installation-setup/ 在这篇教程里,我们将主要讲解如何在我们自己的系统上安装.配置.原始版本的Gradle,并学习一些基本的Gradle命令行!Android Studio 本身集成了一个内部版本的Gradle,在安装Android Studio的时候,就自动给安装上了,这对于我们这样的小白对Gradle的理解没有帮助意义,所以我们单独将Gradle原始版本

通过adb把apk安装到系统分区

通过adb把apk安装到系统分区 以谷歌拼音为例:GooglePinyin1.4.2.apk提取出so文件libjni_googlepinyinime_4.solibjni_googlepinyinime_latinime_4.so bat批处理脚本内容如下:path "D:\Program Files\完美刷机\tools";%path% prompt $Gcd /d "%1"cls adb devices adb shell su -c "mount

求教Android 将APK安装到/system/app的方法

============问题描述============ 我在网上找了很多资料,用代码实现将自己的APK安装到/system/app 项目测试需要,让自己的service 不被第三方软件kill掉 这里有一篇文章http://chongye89.iteye.com/blog/1412488 我试过了,但是没有反应  不知道是不是需要什么地方需要注意 望高手指点 或者有什么更好的办法实现我想要的效果 谢谢了 ============解决方案1============ adb shell ok的话