导航:首页 > 操作系统 > android打包maven

android打包maven

发布时间:2023-06-16 03:02:10

android studio 中如何构建Maven项目

作者:知乎用户
链接:https://www.hu.com/question/24367230/answer/44804731
来源:知乎
着作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

诚如你所说gradle构建方式,编译会较慢,特别是第一次使用的时候启动也会较慢。这有大致几个原因:

Gradle相关插件需要下载,Maven依赖的jar包需要下载
Gradle命令行编译慢,是由于配置不完善,Android Studio IDE环境亦然
机器性能差
参考方法,具体细节请参阅gradle官方文档,android官方文档等

下载并配置gradle离线包,配置Maven本地仓库

命令行编译的话, 配置 daemon=true(开启gradle守护进程)等,Android Studio 勾选 offlinework选项
在下面的目录下面创建gradle.properties文件:
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
并在文件中增加:org.gradle.daemon=true
其他更详细的不在此处赘述
--------------------------
update:给到一些相关参考

Chapter 19. The Gradle Daemon

加速Android Studio/Gradle构建 顺手摘了一篇,类似博客不少

使用Gradle构建Android程序

Gradle插件用户指南(译)
其他具体细节请通过官方文档,google搜索,参考他人博客解决,此处仅提供参考。

❷ android gradle打包生成两个包,怎么去掉debug版本

Gralde 打包参数详解

上面说了一大堆东西,其实并不吸引人去使用gradle,如果只是构建项目的话,adt不是更合适吗?如果,你看完以下内容还是这么觉得的话,你就没必要折腾gradle了。。。。。。

打签名包

看附录 默认输出 release apk 是没有签名的,那么我们需要签名的很简单,只需要在android{}里面补充加上加上即可。完整build.gradle 请点击我的gist

build.gradle

signingConfigs {
myConfig{
storeFile file("gradle.keystore")
storePassword "gradle"
keyAlias "gradle"
keyPassword "gradle"
}
}

buildTypes{
release {
signingConfig signingConfigs.myConfig
}
}

然后,运行gradle clean gradle build ,这次在build/apk 你看到了多了一个[项目名]-release-unaligned, 从字面上面我就可以知道,这个只是没有进行zipAlign 优化的版本而已。而[项目名]-release 就是我们签名,并且zipAlign 的apk包了. ###打混淆包### 只需要在原来的基础上加上,完整的proguad.gradle 代码 build.gradle

gradle clean

gradle build

打多渠道包(Proct Flavor)

现在来解释一下上一节的问题,apk目录下的两个apk 的含义

为什么产生了两个apk?

默认的android gralde 插件定义了两种apk 的类型debug, release,这两种类型的详细对比看附录。

这个是android gralde 插件 buildTypes{} 方法产生的,默认配置好了两个默认模板,当然你也可以修改,前面我们就是在修改默认的release 的配置,让输出release类型的的apk,具有签名和混淆。

对于多渠道包,android 插件提供了一个名为Proct Flavor{} 的配置,用于进行多渠道打包。

例如,我的android应用有海外版,和国内版本,而且这两个版本的包名是不一样的!!(我就举两个市场的例子安装这个思路,你要打包100个不同的市场只是几行代码的事情。)。

你只需要在android{} 补充上

build.gradle

proctFlavors {
playstore {
packageName='com.youxiachai.androidgradle.playstore'
}
hiapk {
packageName='com.youxiachai.androidgradle.amazonappstore'
}
}
仅此而已?然后gradle clean,gradle build,在build/apk 下面你会看到一堆的包,命名格式[项目名]-[渠道名]-release

Proct Flavor{} 不只是能改包名那么简单,还能够对编译的源码目录进行切换。

什么意思? 不知道各位有没有用过友盟做用户统计,如果,你用的是分发渠道分析,你需要修改AndroidManifest.xml 添加上

如果,你很多渠道,,然后你就会很痛苦,现在用gradle 就非常舒服,你只需要在android.sourceSets指定我们的渠道名就行,android gradle 插件,会自动打包!!!例如

build.gradle

sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}

hiapk {
manifest.srcFile 'hiapk/AndroidManifest.xml'
}
playstore {
manifest.srcFile 'hiapk/AndroidManifest.xml'
}

instrumentTest.setRoot('tests')

}

然后运行gradle clean,gradle build,省下的时间去喝杯咖啡,睡个觉什么的都好。。。 ###外部依赖### android gradle 对于外部jar 包的应用支持maven/ivy 管理的包,也支持指定具体文件,前面已经在上文说过。上面演示的完整 build.gradle gist 里面也有写。你需要加上如下代码即可: build.gradle

❸ android studio 打包出现这样的问题怎么解决

你看你的资源文件是否存在有大写命名的文件。

android资源文件不允许大写。android自动生成的资源文件如果出错了不是配置问题就是命名问题,android 在命名的时候 只能用 a-z的小写 和0-9的数字 ,而且 第一个必须是 字母

你的是否是23版本的?如果是:
在stackoverflow上的解释是:23.0之前有基于apac.http package的引用,而升级后这个引用没了,导致新建项目报错
Found a workaround that allows me to keep working on 22
You need to delete the build tools 23 from the sdk manager and then in the sdk folder (yes the actual folder) open up sdk/extras/android/m2repository/com/android/support/appcompat-v7
blow away the entire 23.0.0 folder
then in the same appcompat folder open maven-metadata.xml and delete the one line <version>23.0.0</version>
clean and rebuild
code.google给出了解决办法:
参照以上方法,我们需要这么干:
第一步:把你的build.gradle设置为(之前报错时候这里是v7.23.0.0) v7:22.2.1
第二步:进入Android\sdk\extras\android\m2repository\com\android\support\appcompat-v7 ,删除23.0.0文件夹,删除maven-metadata.xml中的<version>23.0.0</version>
第三步:进入项目clean,接着rebuild 注意!!!!!!只clean依然报错
已测试,完成以上三步再建立其他项目正常

❹ maven管理android项目jar包,用maven 打包时可以把maven管理的jar包打进去,但是用eclipse的run as ...

像这样的情况你需要在pom文件里添加android-maven-plugin,并且在eclipse里安装插件Maven Integration for Android Developement Tools

❺ 如何在Android Studio中使用Maven

要在gradle中使用的:

repositories {
激备mavenCentral()
maven {
url "${HOME}/.m2/repository/"
}
}
通过对数据库的索引,我们还为您准备了:
Android Studio怎么使用本地的maven库

答:buildscript { repositories { mavenLocal() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } } allprojects { repositories { mavenLocal() mavenCentral() } }
===========================================

Android Studio怎么使用本地的maven库

答:要在gradle中使用的: repositories { mavenCentral() maven { url "返亮${HOME}/.m2/repository/" } }
===========================================

Android studio使用方法

问:Android studio;我下载了一个俄罗斯方块的源代码,希望通过Android stu...
答:先来到Android Studio的bin目录下,修改studio.bat 第72行GOTO end 在它前面加上PAUSE 用于查看错误消息,进入cmd 然后指向Android Studio目录下 运行studio.bat 可以查看错误消息,去修改android-studio\bin目录下的studio.exe.vmoptions 去除明世毁第...
===========================================

阅读全文

与android打包maven相关的资料

热点内容
程序员男友消失了 浏览:395
程序员搜索框自动提示 浏览:22
android44api20 浏览:675
adb刷recovery命令 浏览:695
广联达正版加密锁可以补办吗 浏览:943
java程序员一天多少行代码 浏览:946
丧尸危机java 浏览:123
华为手机怎么去除app标记未读信息 浏览:854
java监控文件夹 浏览:805
群控服务器主机怎么转变普通电脑 浏览:706
手机怎么调整app大小 浏览:453
加密门禁卡揭秘 浏览:138
词释pdf 浏览:992
安卓手机上如何停止自动续费 浏览:880
加密编码摘要 浏览:785
疫情命令党 浏览:497
java转sql 浏览:706
android获取apn 浏览:74
phpfpm进程池 浏览:795
解压掏耳朵音频 浏览:676