Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 渐变编译:找不到包_Java_Maven_Gradle - Fatal编程技术网

Java 渐变编译:找不到包

Java 渐变编译:找不到包,java,maven,gradle,Java,Maven,Gradle,为了调试OTGViewer,我正在尝试将一个项目(IGLogger)包含到另一个项目(OTGViewer)中。因此,我重写了IGLogger,使其将函数调用(Log.d等)转储到一个文件中,现在我正试图将其包含到OTGViewer中: //导入android.util.Log; 导入com.iglogger.iglogger; 然而,在执行“gradle构建--调试”时,我有: [root@v48807 OTGViewer]# cat err.log 5889:23:46:03.189 [ER

为了调试OTGViewer,我正在尝试将一个项目(IGLogger)包含到另一个项目(OTGViewer)中。因此,我重写了IGLogger,使其将函数调用(Log.d等)转储到一个文件中,现在我正试图将其包含到OTGViewer中:

//导入android.util.Log;
导入com.iglogger.iglogger;
然而,在执行“gradle构建--调试”时,我有:

[root@v48807 OTGViewer]# cat err.log
5889:23:46:03.189 [ERROR] [system.err] /var/projects/.otg/OTGViewer/mobile/src/main/java/com/androidinspain/otgviewer/MainActivity.java:18: error: package com.iglogger does not exist
5890:23:46:03.195 [ERROR] [system.err] import com.iglogger.iglogger;
5891:23:46:03.195 [ERROR] [system.err]                    ^
5901:23:46:09.426 [ERROR] [system.err] /var/projects/.otg/OTGViewer/mobile/src/main/java/com/androidinspain/otgviewer/MainActivity.java:72: error: cannot find symbol
5902:23:46:09.426 [ERROR] [system.err]             Log.d(TAG, "onCreate");
5903:23:46:09.434 [ERROR] [system.err]             ^
5904:23:46:09.440 [ERROR] [system.err]   symbol:   variable Log
5905:23:46:09.441 [ERROR] [system.err]   location: class MainActivity
5906:23:46:09.644 [ERROR] [system.err] /var/projects/.otg/OTGViewer/mobile/src/main/java/com/androidinspain/otgviewer/MainActivity.java:111: error: cannot find symbol
5907:23:46:09.659 [ERROR] [system.err]                 Log.d(TAG, "No transition needed. Already in that fragment!");
5917:23:46:09.666 [ERROR] [system.err]                 ^
5918:23:46:09.666 [ERROR] [system.err]   symbol:   variable Log
然而,我实际上使用iglogger创建了jar,并将其安装在本地Maven存储库中:

[root@v48807IGLogger]#cat compile.sh
#!/usr/bin/env bash
set-e
set-o errexit
DIR=“$(cd“$(dirname“${BASH_SOURCE[0]}”)”&&pwd)
cd$DIR
#javac-bootclasspath/opt/android sdk/platforms/android-26/android.jar iglogger.java
#javac-sourcepath/opt/android sdk/platforms/android-26/android.jar iglogger.java
javac-source 1.8-target 1.8 com/iglogger/iglogger.java
dx--dex--output=iglogger.dex com/iglogger/iglogger.class
#baksmali iglogger.dex
#java-jar/var/projects/.otg/smali/baksmali/build/libs/baksmali.jar.iglogger.dex
apktool.shb-o iglogger.apk
apktool.sh d iglogger.apk-f-o iglogger未打包
rm-rf iglogger.apk
mv iglogger未打包/smali_iglogger/com/iglogger/iglogger.smali。
rm-rf iglogger未打包/
cd-com/iglogger
jar cf iglogger.jar iglogger.class
(我在上面还生成了一个smali文件,但其想法是创建一个jar文件,并将代码作为包安装在存储库中——见下文)

[root@v48807IGLogger]#cat mvn-install.sh
#!/usr/bin/env bash
mvn安装:安装文件-Dfile=com/iglogger/iglogger.jar-DgroupId=com.iglogger-DartifactId=iglogger-Dversion=0.0.1-dpackage=jar
此外,我还修改了OTGViewer的gradle文件,以声明存在一个依赖项和一个新的repo:

[root@v48807 OTGViewer]# cat build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.

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

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

allprojects {
    repositories {
        jcenter()
        google()
        mavenLocal()
    }
}
那么我错过了什么

编辑: 好吧我确保iglogger的jar位于javac的-classpath参数中,并且文件存在:

[root@v48807OTGViewer]#gradle构建--stacktrace--debug&>debug.log
[root@v48807OTGViewer]#cat debug.log | grep classpath | grep-n iglogger>iglogger.log&&vi iglogger.log
[root@v48807OTGViewer]#ls/root/.m2/repository/com/iglogger/iglogger/0.0.1/iglogger-0.0.1.jar
-rw-r--r--1 root root根目录8319 Feb 17 21:10/root/.m2/repository/com/iglogger/iglogger/0.0.1/iglogger-0.0.1.jar
[
[root@v48807 ~]#
因此,如果文件存在,那么可能会出现什么问题?为什么它不能被识别为包?我正在通过import指令正确导入它,对吗

[root@v48807 OTGViewer]# cat mobile/build.gradle
apply plugin: 'com.android.application'

android {
    compileSdkVersion 26

    defaultConfig {
        applicationId "com.androidinspain.otgviewer"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 2
        versionName "1.1"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions{
        abortOnError false
    }
    compileOptions   {
      sourceCompatibility = '1.8'
      targetCompatibility = '1.8'
    }
}

dependencies {
    compile 'com.github.mjdev:libaums:0.5.5'
    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:design:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'
    compile 'com.iglogger:iglogger:0.0.1'
}
[root@v48807 OTGViewer]#