当前位置: 首页 > 知识库问答 >
问题:

如何在Android Studio中启动导入项目的活动

茹正初
2023-03-14

我创建了一个android项目(项目A),并在其中导入了另一个项目(项目B),其中包含:

-

现在我想从项目A调用位于项目B内部的活动。

我用过:

Intent myIntent = new   Intent(this,Class.forName("com.projectB.app.MainActivity")); 
startActivity(myIntent);

但我明白了

类不成立异常

如何解决这个问题?

使现代化

我发现我需要使用以下方法将项目B作为依赖项添加到项目a中:

项目结构/依赖关系/

当我试图构建我得到这个错误:

错误:无法确定任务的依赖项:app: compileDebugJavaBackJavac。

无法解决配置的所有任务依赖关系: app: dedegCompileClasspath。无法解析项目:3dviewerobj。所需:项目:应用程序无法找到匹配的配置的项目:3dviewerobj:-配置调试ApiElements:-需要com.android.build.api.attributes.BuildTypeattr调试,并找到兼容的值调试。-需要com.android.build.gradle.internal.dependency.Android Typeattr'Aar'和发现不兼容的值'Apk'。-找到com.android.build.gradle.internal.dependency.Variantattr'debug',但不是必需的。-必需org.gradle.api.attributes.用法'java-api',并找到兼容值'java-api'。-配置'dedegMetadataElements':-必需com.android.build.api.attributes.BuildTypeattr'debug',并找到兼容值'debug'.-需要com.android.build.gradle.internal.dependency.AndroidTypeattr'Aar',并发现不兼容的值'元数据'。-发现com.android.build.gradle.internal.dependency.变量attr'debug',但不是必需的。-需要org.gradle.api.attributes.用法'java-api',但没有提供值。-配置'dedegRuntimeElements':-需要com.android.build.api.attributes.BuildTypeattr'debug'并找到兼容值'debug'。-需要com.android.build.gradle.internal.dependency.AndroidTypeattr'Aar'并找到不兼容值'Apk'。-找到com.android.build.gradle.internal.dependency.Variantattr'debug'但不需要。-需要org.gradle.api.attributes.使用'java-api'和发现不兼容的值'java-runtime'。-配置'释放ApiElements':-需要com.android.build.api.attributes.BuildTypeattr'debug'和发现不兼容的值'释放'。-需要com.android.build.gradle.internal.dependency.Android Typeattr'Aar'和发现不兼容的值'Apk'。-找到com.android.build.gradle.internal.dependency.Variantattr'释放',但不是必需的。-必需org.gradle.api.attributes.用法'java-api',并找到兼容值'java-api'。-配置'释放MetadataElements':-必需com.android.build.api.attributes.BuildTypeattr'调试',并找到不兼容的值'释放'。-需要com.android.build.gradle.internal.dependency.AndroidTypeattr'Aar',并发现不兼容的值'元数据'。-发现com.android.build.gradle.internal.dependency.Variantattr'释放',但不是必需的。-需要org.gradle.api.attributes.用法'java-api',但没有提供值。-配置'释放运行元素':-需要com. android. build. api.属性。BuildTypeattr调试,发现不兼容的值释放。-需要com. android. build. gradle. interal.依赖。Android Typeattr'Aar'和发现不兼容的值'Apk'。-找到com. android. build. gradle. interal.依赖。Variantattr'释放',但不是必需的。-必需的org. gradle. api.属性。使用'java-api'并发现不兼容的值'java-runtime'。

项目Abuild.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.app.ar.augmented"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation project(':3dviewerobj')
}

项目B的build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27

    defaultConfig {
        applicationId "org.andresoviedo.dddmodel2"
        minSdkVersion 8
        targetSdkVersion 27
    }

    signingConfigs {
        release {
            storeFile file("android-3d-model-viewer.jks")
            storePassword ""
            keyAlias "android-3d-model-viewer"
            keyPassword ""
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

dependencies {
    implementation 'com.android.support:support-compat:27.1.1'
}

共有2个答案

谢善
2023-03-14

像这样改变项目B的build.gradle:

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27

    defaultConfig {
        applicationId "org.andresoviedo.dddmodel2"
        minSdkVersion 8
        targetSdkVersion 27
    }

    signingConfigs {
        release {
            storeFile file("android-3d-model-viewer.jks")
            storePassword ""
            keyAlias "android-3d-model-viewer"
            keyPassword ""
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            signingConfig signingConfigs.release
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

dependencies {
    implementation 'com.android.support:support-compat:27.1.1'
}
易祖鹤
2023-03-14
 <intent-filter>
      <action android:name="com.projectB.app.another.app.ANOTHER_ACTIVITY"/>
      <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>

当你创造意图的时候,试一下。

Intent intent = new Intent("com.projectB.app.another.app.ANOTHER_ACTIVITY");
startActivity(intent);

我希望它对你有用。。。

 类似资料:
  • 我正在开发,它将在启动时导入。

  • 我有一个(命令行)基于maven的项目,非常好用(mvn清理、mvn验证、安装都很完美)!我现在想把它导入eclipse,不是作为maven项目,而是常规的eclipse项目。 我做到了,但我有一个依赖性问题,我只需将创建的所有jar复制到。m2文件夹到我的eclipse工作区中的另一个文件夹。然后我将所有这些罐子添加到我的项目中。 一切都好! 问题是:我觉得这不是在eclipse中管理依赖关系的

  • 嗨,我是薄荷Linux的新手,我想问一下如何在Linux薄荷中开始我的php项目。我已经安装了netbeans和XAMPP。它和窗户很不一样。我拿不到htdocs文件夹?。我尝试了以下操作 但是我如何获得像/home/user/netbeansprojects/phpproject1这样的路径。我无法获取htdocs文件夹。但是使用localhost我不能运行我的项目。我不知道这是不是实际的方法。

  • 问题内容: 对重复参考的评论:为什么在被问为重复的问题之前多年被问到时,为什么将其标记为重复? 我还认为问题,细节和响应比所提到的问题要好得多。 我已经成为C ++程序员已有一段时间了,但是我是Java和Eclipse的新手。我想使用触摸图“图形布局”代码来可视化我正在使用的某些数据。 这段代码是这样组织的: 如何在Eclipse中添加此项目并使其快速编译和运行? 问题答案: 在Eclipse中创

  • 当我点击listview项时,我试图启动一个活动。但是当我运行程序时,我得到了一些错误,比如: list_layout.xml

  • 我在让我的Camel路线在OSGI(Equinox)-捆绑包和插件项目中工作时遇到了问题。 路线如下所示: 我的测试类应该启动Camel上下文: 这个包在Eclipse中使用OSGI框架运行配置启动。 安慰: 但是现在如何“启动”CamelContext呢?没有osgi,作为一个标准的java应用程序,这个例子是有效的;但在那里,我有一个主要的方法,其中有骆驼的背景。 我尝试用一个激活器来启动ca