我使用一些gradle依赖关系创建了Android应用程序。现在我想从这个项目创建*.jar
(没有资源并单独添加它们)文件或*.aar
文件。 我试图创建新的库项目(与build.xml),复制我的*.java
和res文件并运行ant jar
,我正在修复问题一个接一个。有没有更好的解决方案来做到这一点?如何将Android Gradle应用程序打包为* .jar或* .aar文件
1
A
回答
0
您需要制作两个模块。第一个模块将是jar
。这应该是POJO
s(普通Java对象),而不是Android。第二个模块将是aar
。这可能取决于您的第一个项目,但添加了Android特定的代码/资源。
那么你的项目(MyApp
)结构是这样的
MyApp/
MyApp/build.gradle
MyApp/settings.gradle
MyApp/PoJoProject/
MyApp/PoJoProject/build.gradle
MyApp/AndroidProject/
MyApp/AndroidProject/build.gradle
然后你settings.gradle
文件看起来是这样的:
include ':PoJoProject', ':AndroidProject'
现在在模块
在MyApp/PoJoProject/build.gradle
你会想要应用java
插件。该模块将构建到所需的jar
格式,该格式可以在正常的JVM
上的任何位置运行。
plugins {
id 'java'
}
version '1.00'
group 'com.example.multimodule.gradle'
repositories {
jcenter()
}
dependencies {
compile 'com.google.code.gson:gson:2.5'
testCompile 'junit:junit:4.12'
}
compileJava {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
在你想申请的android
插件MyApp/AndroidProject/build.gradle
。该模块将构建为所需的aar
格式,并且只能用作Android依赖项。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
}
}
apply plugin: 'com.android.application'
// version could be different from app version if needed
// `version` & `group` could also be in the top level build.gradle
version '1.00'
group 'com.example.multimodule.gradle'
repositories {
jcenter()
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.multiproject.gradle.android"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
// let the android `aar` project use code from the `jar` project
compile project(':PoJoProject')
testCompile 'junit:junit:4.12'
}
相关问题
- 1. 如何在Android Gradle应用程序中包含* .so文件?
- 2. 如何将我的Android应用程序打包成.apk文件?
- 3. 如何使用我的Android应用程序并打包JAR文件?
- 4. 如何开始将我的应用程序打包为android? [KIVY]
- 5. 如何在phonegap android应用程序中包含jar文件?
- 6. Android Studio - Gradle依赖缓存中的jar/aar文件位置?
- 7. 将带JavaFX组件的Swing应用程序打包为可执行文件JAR
- 8. Android Gradle库构建:在生成的aar中包含和排除jar文件
- 9. 如何将jar文件包含到iphone应用程序中
- 10. 在Netbeans中将Jython应用程序打包为JAR
- 11. Android - 如何将文档打包到应用程序中
- 12. 将android代码打包成jar文件
- 13. Android Gradle插件:使用Jar Dependencies和Proguard创建AAR
- 14. 将程序打包后的文件输出更改为jar
- 15. 如何使用Gradle从.AAR Android库存档中排除文件
- 16. 如何将gradle项目编译为jar文件我可以在我的Android应用程序中使用
- 17. 打包Java应用程序时,jar文件中不包含属性文件
- 18. Android库JAR依赖于Android库AAR吗?
- 19. 如何将gwt应用程序打包为maven中的war文件?
- 20. 如何在Android Studio中使用Android插件为Gradle 2.3.1找到打包在AAR中的jni库?
- 21. 我如何将此Android应用程序导出到aar库
- 22. 如何使用Maven将GWT模块打包为Jar文件?
- 23. AIDL vs JAR/AAR
- 24. 如何将python3K应用程序打包到可执行文件?
- 25. 如何删除aar文件中的jar文件?
- 26. 如何使用Pyinstaller打包.jar文件
- 27. 我为什么要包括gradle这个依赖作为`@ aar`
- 28. Android Build:无法识别AAR包内的JAR文件的类
- 29. 如何将我的Android应用程序与数据库打包
- 30. Android gradle在打包过程中生成重复文件httpmime
Ant对AARs一无所知。为什么你使用Ant而不是Gradle呢? – CommonsWare
为什么蚂蚁?使用gradle构建。从应用程序更改为库(aar文件),只需从'apply plugin:'com.android.application''更改为'apply plugin:'com.android.library'' –