我已经下载了一些库源,并希望使用Android Studio将其导出为Jar文件.有没有办法使用Android工作室导出到jar文件?
编辑:
我想导出为jar的库是一个Android库.它被称为"StandOut",可以从GitHub下载. https://github.com/pingpongboss/StandOut
当我在Eclipse中为我的Android项目生成javadoc时,会有很多警告
cannot find symbol
symbol : class TextView
Run Code Online (Sandbox Code Playgroud)
和
warning - Tag @see: reference not found: android.app.Dialog
Run Code Online (Sandbox Code Playgroud)
我也试过了
-link http://developer.android.com/reference/
-link http://java.sun.com/j2se/1.4.2/docs/api/
Run Code Online (Sandbox Code Playgroud)
在Extra javadoc options (path names with white spaces must be enclosed in quotes)tab中Configure Javadoc Arguments(eclipse-> project-> Generate Javadoc的第三个对话框).
但只有-link http://java.sun.com/j2se/1.4.2/docs/api/工作即http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true生成String类链接.但是android.app.Dialog,没有生成任何链接.
编辑
我也尝试android.jar在Select referenced archives and projects to which links should be generated
选项卡中选择Configure Javadoc arguments for standard doclet(eclipse-> project-> Generate Javadoc的第二个对话框),但这会创建本地android-sdk目录中文档的本地链接,而不是像Java API那样的在线Android引用.
我现在正在将Gradle用于我的所有项目,甚至用于javadoc生成.
android.libraryVariants.all { variant ->
task("generate${variant.name}Javadoc", type: Javadoc) {
title = "$name $version API"
source = variant.javaCompile.source
ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
ext.googlePlayServicesJar = "${android.plugin.sdkDirectory}/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"
classpath = files(variant.javaCompile.classpath.files, ext.androidJar, ext.googlePlayServicesJar)
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
//options.linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
}
Run Code Online (Sandbox Code Playgroud)
使用该代码,我得到了一切工作,除了一件事:常规的Android API对象,如Activity,Bitmap等.Java的链接工作正常.
最终生成的文档未链接到http://d.android.com/reference.我尝试了两个options.links()options.linksOffline()但没有成功.
编辑
感谢@ejb,问题在于您无法同时提供多个options.links().所以我使用了options.links()Java的文档和options.linksOffline()Android的文档:
options {
links("http://docs.oracle.com/javase/7/docs/api/");
linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
//stylesheetFile = new File(projectDir, "stylesheet.css");
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的库项目上传到 jCenter。当我运行时gradlew install出现错误:
任务 ':myLibraryProject:javadoc' 执行失败
我将下面的代码添加到我的库项目中:
task androidJavadocs(type: Javadoc) {
failOnError false // add this line
source = android.sourceSets.main.java.getSrcDirs()
}
Run Code Online (Sandbox Code Playgroud)
但我仍然得到
“Javadoc 生成失败。生成的 Javadoc 选项文件...”
我也从这里尝试了接受的答案:Generate JavaDocs with Android Gradle plugin
我是否可以禁用 Javadocs 的生成,或者尽管失败也可以尝试继续构建?
在为我们开发的库构建适用于Android Studio项目的Javadocs时,我们的Gradle构建脚本失败,错误如下:
/MY_LOCAL_PATH/MyClass.java:5:错误:包com.google.gson不存在导入com.google.gson.Gson;
细节:
我们正在构建一个Android库Gradle,并希望Javadocs为它构建它.
Android Studio项目配置为需要Maven dependencyfor GSON,虽然我猜测它会发生在每个lib未明确提供文件的依赖项中.
当然,我们的课程之一 imports com.google.gson.
这是我们的Gradle脚本:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
apply plugin: 'com.android.library'
android {
compileSdkVersion 19
buildToolsVersion '21.1.2'
defaultConfig {
minSdkVersion 19
targetSdkVersion 19
versionCode 8000
versionName "0.8.0"
}
buildTypes …Run Code Online (Sandbox Code Playgroud)