我正在尝试调试Android Studio关于java SDK文件夹中文件的语法突出显示和定义的行为.该项目构建正常,但Android Studio本身在编辑器中不会与此一致.
我已经详细阅读了以下链接中的响应,并没有解决问题: Android Studio说"无法解析符号"但项目编译
我已经尝试了所有这些解决方案,包括"无效和重新启动",清理,重建,检查sdk目录是否正确,检查所有依赖项是否存在,重新同步gradle,将compileSdkVersion更改为minSdkVersion,它仍然拒绝遵循预期行为.
Android工作室突出显示了一些红色的方法和符号,当我按下它们的CTRL + B时,它们不会跟随它们(转到定义).但是,当我只是打开文件时,方法和符号就可以了.
例如,对于sdk\sources\android-14\...在RingtonePreference类中...android\preference\RingtonePreference.java,有一行:
PreferenceFragment owningFragment = getPreferenceManager().getFragment();
Run Code Online (Sandbox Code Playgroud)
该方法getFragment()以红色突出显示"无法解析方法".
然后我点击CTRL + B getPreferenceManager(),跳转到:
public PreferenceManager getPreferenceManager() {
return mPreferenceManager;
}
Run Code Online (Sandbox Code Playgroud)
然后我按下CTRL + B PreferenceManager,跳转到文件...android\preference\PreferenceManager.java.在该文件中有以下内容:
PreferenceFragment getFragment() {
return mFragment;
}
Run Code Online (Sandbox Code Playgroud)
除了我之外,Android Studio需要按照预期运行.我在这做错了什么?
作为参考,这是我的项目使用RingtoneManager的方式,但是没有"无法解决"Android Studio红色高亮显示:
import android.content.Context;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.preference.RingtonePreference;
import android.util.AttributeSet;
public class ExtRingtonePreference extends RingtonePreference {
private String mInitialRingtone;
public ExtRingtonePreference(Context context, AttributeSet attrs, int defStyleAttr) …Run Code Online (Sandbox Code Playgroud) 我正在为Android OS构建社区目录应用程序.它正在运行很好的Lollipop转发设备.应用程序已经有时在Android OS 4.4版本中崩溃.错误日志如下:
# Platform: android
# Date: 2017-12-04T08:33:00Z
# OS Version: 4.4.2
# Device: Galaxy S5
# RAM Free: 63.1%
# Disk Free: 69.3%
Fatal Exception: java.lang.NoClassDefFoundError: android/view/ViewStructure
Caused by java.lang.ClassNotFoundException: Didn't find class
"android.view.ViewStructure" on path: DexPathList[[zip file
"/data/app/com.blacksmithyouthclub-1.apk", zip file
"/data/data/com.blacksmithyouthclub/code_cache/secondary-
dexes/com.blacksmithyouthclub-1.apk.classes2.zip"],nativeLibraryDirectories=
[/data/app-lib/com.blacksmithyouthclub-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at java.lang.Class.getDeclaredMethods(Class.java)
at java.lang.Class.getDeclaredMethods(Class.java:656)
at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960)
at android.view.ViewDebug.exportMethods(ViewDebug.java:1047)
at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997)
at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983)
at android.view.ViewDebug.dumpView(ViewDebug.java:900)
at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:855)
at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)
at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)
at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)
at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)
at …Run Code Online (Sandbox Code Playgroud) 当我构建我的应用程序时,我得到了跟随错误.
已存在的程序类型:org.hamcrest.CoreMatchers
消息{kind = ERROR,text =程序类型已存在:org.hamcrest.CoreMatchers,sources = [未知源文件],工具名称= Optional.of(D8)}
我有谷歌我的问题,喜欢这里的类似问题,但无法得到正确的答案.
这是我的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
useLibrary 'org.apache.http.legacy'
defaultConfig {
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
multiDexEnabled true
ndk {
ndk {
moduleName "exec"
abiFilters 'armeabi-v7a'
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jni.srcDirs = []
jniLibs.srcDirs = ['libs']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
configurations.all{
resolutionStrategy.force 'org.hamcrest:hamcrest-core:1.1'
} …Run Code Online (Sandbox Code Playgroud) # Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled …Run Code Online (Sandbox Code Playgroud)我在JSON下面了解
{"id":"1","value":"some value"}
{"id":"2","value":null}
{"id":"3"}
要保存上面的JSON数据我有java类:
class myClass
{
private String id;
private String value;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的示例中:id 2和id 3的值都为NULL
在java中,很难识别JSON中传递的空值和未传递的其他字段之间的区别,因此java pojo的默认值为NULL.
对我来说,id 2和id 3的值不应该相同.
是否可以在java中区分提供的JSON NULL和默认NULL?
我在我的项目中添加了google translate api后出现此错误.我使用的是Android Studio 3.0,Gradle 3.0.0.
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
More than one file was found with OS independent path 'project.properties'
Run Code Online (Sandbox Code Playgroud)
我尝试了这里和这里提出的解决方案,但没有成功.此外,我尝试将gradle降级到版本2.3,但这也没有解决问题.
我的build.gradle文件:
android {
compileSdkVersion 25
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.aim.fjalortest"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'META-INF/project.properties'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0' …Run Code Online (Sandbox Code Playgroud) 运行我的项目后,它显示空白地图,我遵循了很多方法,但仍然显示空白,现在我对地图 api v2 感到困惑,我的控制台不显示所有 api 版本\n这是我的控制台图像,它不显示所有 api 版本
\n\n这是我的java文件
\n\npublic class MapsActivity extends FragmentActivity implements OnMapReadyCallback {\n\nprivate GoogleMap mMap;\nLocationManager locationManager;\nLocationListener locationListener;\n\n@Override\npublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {\n super.onRequestPermissionsResult(requestCode, permissions, grantResults);\n if(requestCode==1)\n {\n if(grantResults.length>0 && grantResults[0]==PackageManager.PERMISSION_GRANTED)\n {\n if(ContextCompat.checkSelfPermission(MapsActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)== PackageManager.PERMISSION_GRANTED)\n {\n locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);\n }\n }\n }\n\n}\n\n\n\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_maps);\n // Obtain the SupportMapFragment and get notified when the map is ready to be used.\n SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()\n …Run Code Online (Sandbox Code Playgroud) 我正在开发应用程序,但出现以下错误:
error: cannot access zzbgl
class file for com.google.android.gms.internal.zzbgl not found
Run Code Online (Sandbox Code Playgroud)
我知道StackOverflow中有一个问题,与我四天前发布的错误相同,但是答案对我的情况没有帮助。(我正在谈论这个)
在我的项目中设置Firebase Analytics之后,错误立即出现。
我的build.gradle(模块:应用程序)文件是这样的:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 26
buildToolsVersion '27.0.3'
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId 'com.geoactio.montferri'
minSdkVersion 14
targetSdkVersion 26
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:appcompat-v7:26.1.0'
// compile 'com.google.code.ksoap2-android:ksoap2-android:3.6.0' …Run Code Online (Sandbox Code Playgroud) 我试图在Android中使用arcore构建增强现实导航.AR导航方向在印度是否可用?我只是按照这个链接使用arcore开发带有核心loaction的ar导航.https://github.com/appoly/ARCore-Location/tree/legacy.
是否有可能在Android中使用ARCore进行导航?任何帮助非常感谢请....
假设我有
private String userId;
private String email;
private AWSRegion region;
private String total;
List<Prop> all = new ArrayList<>
all.add(new Prop("aaa", "dddd", "EU", total1));
all.add(new Prop("aaa1", "dddd", "US", tota2l));
all.add(new Prop("aaa2", "dddd", "AU", tota2l));
all.add(new Prop("aaa3", "dddd", "AU", tota3l));
all.add(new Prop("aaa3", "dddd", "EU", tota4l));....a lot of regions
Run Code Online (Sandbox Code Playgroud)
我希望在一行java8中按属性“AWSRegion”列出列表
有些人认为......但不要将其作为“过滤谓词”运行,因为我有很多区域......
List<Prop> users = all.stream().filter(u -> u.getRegeion() == AWSRegion.ASIA_SIDNEY).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
结果应该是列表列表:
LIST : {sublist1-AU , sublist2-US, sublist3-EU....,etc'}
Run Code Online (Sandbox Code Playgroud)
谢谢,
android ×8
java ×5
apache-camel ×1
arcore ×1
camel-cxf ×1
firebase ×1
google-maps ×1
java-8 ×1
performance ×1
rest ×1