【问题标题】:Android Studio cannot find symbol class / package does not exist /wikitudeAndroid Studio 找不到符号类/包不存在/wikitude
【发布时间】:2020-11-20 15:12:00
【问题描述】:

我希望你们中的一个可以帮助我。不幸的是,我在现有问题上没有找到任何帮助,而且我是 Android Studio 的新手。所以我遵循了这个教程https://www.youtube.com/watch?v=JgcB6tMi0qE,但没有得到相同的结果:当我运行项目时,我手机上的背景是白色的,而不是视频透视。 我从维基百科查找示例项目,并希望将示例中的相机项目包含在我的项目的主要活动中。当我运行项目时,出现以下错误: [错误][1]

我看到项目无法加载包,但我将它们添加到 com 路径和库路径中。同一路径的其他导入没有问题,所以我不明白问题所在。 这是 MainActivtiy.java 代码:

package com.casar.myapplication;

import android.hardware.camera2.CameraManager;
import android.os.Bundle;
import android.view.WindowManager;

import androidx.appcompat.app.AppCompatActivity;
import com.wikitude.NativeStartupConfiguration;
import com.wikitude.WikitudeSDK;
import com.wikitude.camera.CameraManager;
import com.wikitude.camera.CameraManagerListener;
import com.wikitude.common.WikitudeError;
import com.wikitude.common.camera.CameraSettings;
import com.wikitude.architect.ArchitectStartupConfiguration;
import com.wikitude.architect.ArchitectView;
import com.wikitude.common.camera.CameraSettings;
import com.wikitude.samples.WikitudeSDKConstants;
import com.wikitude.samples.camera.CameraSettingsActivity;

import static com.casar.myapplication.R.id;
import static com.casar.myapplication.R.layout;

public class MainActivity extends AppCompatActivity {
    private ArchitectView architectView;
    private WikitudeSDK wikitudeSDK;
    private CameraManager cameraManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(layout.activity_main);

        this.architectView = (ArchitectView)this.findViewById(id.architectView);
        final ArchitectStartupConfiguration config = new ArchitectStartupConfiguration();
        config.setLicenseKey("*****HERE IS MY KEY*****");
        this.architectView.onCreate( config );

        camera2Enabled = getIntent().getBooleanExtra("enableCamera2", true);

        wikitudeSDK = new WikitudeSDK(this);
        NativeStartupConfiguration startupConfiguration = new NativeStartupConfiguration();
        startupConfiguration.setLicenseKey(WikitudeSDKConstants.WIKITUDE_SDK_KEY);
        startupConfiguration.setCameraPosition(CameraSettings.CameraPosition.BACK);
        startupConfiguration.setCameraResolution(CameraSettings.CameraResolution.AUTO);

        wikitudeSDK.onCreate(getApplicationContext(), this, startupConfiguration);

        cameraManager = wikitudeSDK.getCameraManager();
        cameraManager.setListener(this);

        final TargetCollectionResource targetCollectionResource = wikitudeSDK.getTrackerManager().createTargetCollectionResource("file:///android_asset/magazine.wtc");
        wikitudeSDK.getTrackerManager().createImageTracker(targetCollectionResource, CameraSettingsActivity.this, null);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }

    @Override
    protected void onPostCreate(Bundle savedInstanceState) {

        super.onPostCreate(savedInstanceState);
        this.architectView.onPostCreate();
    }

    @Override
    protected void onResume() {

        super.onResume();
        this.architectView.onResume();
    }

    @Override
    protected void onDestroy() {

        super.onDestroy();
        this.architectView.onDestroy();
    }

    @Override
    protected void onPause() {

        super.onPause();
        this.architectView.onPause();
    }
}

这里是java路径结构: [结构java目录][2]

在其他问题中,我发现 build:gradle 很重要,所以这是我的代码:

    plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 30

    defaultConfig {
        applicationId "com.casar.myapplication"
        minSdkVersion 22
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation project(path: ':mylibrary')
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.wikitude:js:9.4.0'
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.google.ar:core:1.15.0'
}

repositories {
    flatDir{
        dirs 'libs'
    }
}

您还需要其他信息吗?我很乐意为您提供一切,希望有人能提供帮助! 问候! [1]:https://i.stack.imgur.com/cov3s.png [2]:https://i.stack.imgur.com/Etb3D.png

【问题讨论】:

    标签: java android android-studio wikitude wikitude-sdk


    【解决方案1】:

    你需要删除 implementation fileTree(dir: 'libs', include: ['*.jar']) 您已经提到了实现 'com.wikitude:js:9.4.0',因此无需添加 libs 文件夹。然后同步并尝试重建项目。

    【讨论】:

    • 感谢您的回答,@Priyanka Rajput!我删除了实现、同步和重建,但不幸的是我确实得到了相同的错误和相同的结果。还有其他想法吗?
    • 检查同一个库的实现并尝试删除导入语句并使用 ctrl+enter 再次重新导入。
    猜你喜欢
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2015-11-24
    相关资源
    最近更新 更多