我使用一些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'' –