如何将Android代码导出到Android Studio中的java库

如何将Android代码导出到Android Studio中的java库,java,android,json,gradle,Java,Android,Json,Gradle,我正在为Android应用程序开发一个库,我编写了一些包含不同函数的类 我在从Java到Jar的导出过程中遇到了一个问题。我做了以下工作: 1) 从现有的源代码,文件->新模块->Java库 2) Android Studio在这一点上创建了一个“子项目”,带有一个默认类 3) 在第2点创建的库中剪切并粘贴我的java代码 在这一点上,我有一些问题: 有些代码无法解析,例如ByteBuffer、JSON 我应该导入JSON-HTTP库吗 我不明白为什么ConnectionManager、Net

我正在为Android应用程序开发一个库,我编写了一些包含不同函数的类

我在从Java到Jar的导出过程中遇到了一个问题。我做了以下工作:

1) 从现有的源代码,文件->新模块->Java库

2) Android Studio在这一点上创建了一个“子项目”,带有一个默认类

3) 在第2点创建的库中剪切并粘贴我的java代码

在这一点上,我有一些问题:

  • 有些代码无法解析,例如ByteBuffer、JSON

  • 我应该导入JSON-HTTP库吗

  • 我不明白为什么ConnectionManager、NetworkInfo无法解析

编辑1

应用程序gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "MY ID"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile files('libs/httpcore-4.4.4.jar')
}
迪格拉德尔

apply plugin: 'java'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
格拉德尔项目

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

问题是您正在将代码移动到另一个子项目中,然后以不同的方式构建它。要解决此问题,假设您使用的是Android Studio,请将新模块中所需的所有库移到module Gradle.build文件中。

问题在于,您正在另一个子项目中移动代码,然后以不同的方式构建它。要解决此问题,假设您使用的是Android Studio,请将新模块中所需的所有库移到module Gradle.build文件中。

对不起,我不理解。我使用androidstudio,作为创建新的Android项目的第一步,我创建了我的classed并测试了它,将项目导出为apk。现在我想知道如何使用类来构建jar。假设第1点和第2点是正确的,下一步是什么?您已经使用Android Studio向导在您的项目上创建了另一个模块,是吗?如果是这样,您应该在项目视图中看到一个带有模块名的Gradle.build文件。你能发布你所有Gradle文件的内容吗?谢谢。将这一行移到您的Di渐变中:编译文件('libs/httpcore-4.4.4.jar')并同步。它应该正确导入所有内容。请记住,当您使用模块时,每个模块都有自己的导入,然后Gradle将在构建整个应用程序时过滤冲突的模块。my Class的源代码必须移动到“di”??您能向我确认这个过程创建了一个.jar吗?如果您引用了应用程序模块中的任何源代码,那么您要么将源代码移动到Di模块,要么导入模块本身。如果您正在引用任何外部库,但无法解析它们,则意味着您在导入中缺少一个库。在您的例子中,您说您没有解析我认为在libs/httpcore-4.4.4.jar中的ByteBuffer和JSON类。要使其工作,必须将该库导入di模块。要做到这一点,请将您的di gradle文件放在dependencies下。对不起,我不理解。我使用androidstudio,作为创建新的Android项目的第一步,我创建了我的classed并测试了它,将项目导出为apk。现在我想知道如何使用类来构建jar。假设第1点和第2点是正确的,下一步是什么?您已经使用Android Studio向导在您的项目上创建了另一个模块,是吗?如果是这样,您应该在项目视图中看到一个带有模块名的Gradle.build文件。你能发布你所有Gradle文件的内容吗?谢谢。将这一行移到您的Di渐变中:编译文件('libs/httpcore-4.4.4.jar')并同步。它应该正确导入所有内容。请记住,当您使用模块时,每个模块都有自己的导入,然后Gradle将在构建整个应用程序时过滤冲突的模块。my Class的源代码必须移动到“di”??您能向我确认这个过程创建了一个.jar吗?如果您引用了应用程序模块中的任何源代码,那么您要么将源代码移动到Di模块,要么导入模块本身。如果您正在引用任何外部库,但无法解析它们,则意味着您在导入中缺少一个库。在您的例子中,您说您没有解析我认为在libs/httpcore-4.4.4.jar中的ByteBuffer和JSON类。要使其工作,必须将该库导入di模块。要做到这一点,请将您的di gradle文件放在dependencies下。