我知道这是一个非常基本的问题,但令我惊讶的是,我找不到任何关于Android SDK Build-tools的文档.除了Android SDK工具和Android SDK平台工具之外,还有一堆Android SDK Build-tools,如附图所示.任何人都可以指向一个解释所有这些内容的来源,并帮助澄清如何选择某个版本的Android SDK Build-tools使用?
编辑(2014-02-27):
我仍然不完全了解所有工具.以下是基于Google最新文档的有限理解:
我仍然不明白从Android SDK平台工具中获取Android SDK Build-tools的理由,这些工具具有单个实例并且易于管理更新.我能想到的唯一可能的原因是某些应用程序必须依赖较旧的构建组件来构建它们.谷歌的文件提到了这一点,但没有解释原因.查看发行说明,您会注意到Android SDK Build-tools的更新主要用于修复错误或/添加对新平台的支持.我可以想到一些应用程序使用旧版Android SDK Build-tools的唯一原因是它们依赖于Android SDK Build-tools的某些缺陷.如果没有使用这些错误构建,这些应用程序将无法正常运行.我希望Google能够通过提供一两个示例来更好地解释这一点,这些示例说明了为什么这些工具中的错误对某些应用程序至关重要
当我构建项目并且存在错误时,显示所有错误的"消息"窗口并不总是显示.我必须两次或更多次构建项目(即Ctrl+ F9)才能看到窗口.
未显示窗口时,视图>工具>消息Alt + 0显示为灰色,如以下屏幕截图所示.如果出现构建错误,如何显示窗口?
我在Windows 8上运行最新的Android Studio.
[编辑] 2018-04-02
Android Studio 3.1似乎删除了这个窗口,很多人可能因为不同的原因错过了"消息窗口"而来到这里,在这种情况下yuval的答案可能是正确的.
我今天升级了Android Studio 3.4。我不再能够运行该应用程序。我已经清理了该项目,并多次重启了Android Studio。我也使缓存无效无济于事。安装应用程序时出现以下错误:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformDexWithInstantRunSlicesApkForDebug'.
> java.lang.RuntimeException: java.io.FileNotFoundException: E:\...\app\build\intermediates\instant_run_split_apk_resources\debug\instantRunSplitApkResourcesDebug\out\slice_1\resources_ap
Run Code Online (Sandbox Code Playgroud)
谁能提供有关如何解决此问题的提示?
编辑: 我有两个项目具有与此问题相关的不同行为:
Android Studio中的应用程序的Gradle构建会生成以下错误:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.RuntimeException: failure, see logs for details.
cannot generate view binders com.sun.tools.javac.code.Symbol$CompletionFailure: class file for android.view.View$InvalidateInfo not found
Run Code Online (Sandbox Code Playgroud)
谁能提供关于在哪里找到日志的提示?
最初我认为这是一个基本的问题,简单的答案会弹出顶部进行快速搜索,但我没有找到它.
请注意,此问题与日志有关,不是针对此特定错误.此错误消息仅用作示例.如果你很好奇,这个特定错误是由于在build.gradle中没有使用最新版本(23)的compileSdkVersion引起的.
有很多帖子涉及这个话题.我想我应该问这个简单的问题,希望澄清一下.
我无法将焦点设置在按钮上.我知道我可能会错过一些基本的东西 这是简单的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"
android:focusable="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
以下是onCreate()中的简单代码:
Button button = (Button)findViewById(R.id.button1);
button.setFocusable(true);
button.requestFocus();
button.setText("Debug"); //Just to show the code here has been executed
Run Code Online (Sandbox Code Playgroud)
它根本不起作用(即按钮没有得到焦点).
任何纠正我的错误或误解将不胜感激.
很抱歉,但我现在真的很困惑和怀疑,所以我求助于 SO 来弄清楚。
我正在运行 Android Studio Bumblebee,并看到一条有关主要新版本的通知,其中包含以下文本:
Android Studio Bumblebee | 2021.1.1 Patch 1 is a major new release and includes performance improvements, bug fixes and new features.
Intellij 2021.1.1 Platform Update
New Device Manager
ADB over Wi-Fi
Run Instrumented Tests in Android Studio using Gradle
Android Gradle Plugin Upgrade Assistant now updates API usage
Non-Transitive R classes on for new projects
Apple Silicon Support Update
Jank detection track in Profilers
Profileable app profiling support in Studio Profilers
Network Inspection …
Run Code Online (Sandbox Code Playgroud) 根据谷歌的文档,getActionBar().setDisplayHomeAsUpEnabled(true)
需要显示向上按钮.我使用Eclipse中的向导创建了一个裸骨活动,并指定了它的父活动.我getActionBar().setDisplayHomeAsUpEnabled(true)
在自动生成的代码中找不到任何内容,但是当此活动启动并且按预期工作时,会出现向上按钮.谁能对此有所了解?
public class FooActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_foo);
//more code...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//more code...
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true; …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有其他人遇到过这个问题并找到了解决方法。
Android Studio Bumblebee 随机且频繁地崩溃。没有模式。当我做某事(例如,编辑代码)或有时什么都不做时,它会崩溃。当我启动 AS 或使用它一段时间后,它可能会崩溃。它平均每小时左右崩溃一次。
我可以更改哪些参数以使 AS 更稳定吗?有没有好的方法来诊断崩溃?
我通常在同一台计算机上运行十多个程序(Visual Studio、Outlook、浏览器...)。AS 是唯一崩溃的程序。其他人都工作正常。
Android Studio Bumblebee | 2021.1.1
Build #AI-211.7628.21.2111.8092744, built on January 19, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 16
Registry: external.system.auto.import.disabled=true, debugger.watches.in.variables=false
Non-Bundled Plugins: com.intellij.marketplace (211.7628.36), com.thoughtworks.gauge (211.6693.111), org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40), com.android.aas (3.5.1), com.google.mad-scorecard (1.2), org.intellij.plugins.markdown (211.7142.37)
Run Code Online (Sandbox Code Playgroud) ActivityResultLauncher<Intent> launcherImportFileSelection = requireActivity().registerForActivityResult(...
Run Code Online (Sandbox Code Playgroud)
如果上面的代码放在onCreate(Bundle savingInstanceState)中,会抛出以下异常:
Exception: LifecycleOwner MyActivity@868498a is attempting to register while current state is RESUMED. LifecycleOwners must call register before they are STARTED.
Run Code Online (Sandbox Code Playgroud)
如果将其放置在构造函数中或作为声明,则 requireActivity() 会抛出以下异常:
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
2021-04-17 15:15:41.948 27930-27930/net.biyee.onvifer E/AndroidRuntime: at androidx.fragment.app.Fragment.instantiate(Fragment.java:613)
... 42 more
Caused by: java.lang.IllegalStateException: Fragment MyFragment{fba6d22} (e0d1f006-996d-4051-9839-4575a92e33dd) not attached to an activity.
at androidx.fragment.app.Fragment.requireActivity(Fragment.java:928)
Run Code Online (Sandbox Code Playgroud)
我在 build.gradle 中有以下内容:
implementation 'androidx.fragment:fragment:1.3.2'
Run Code Online (Sandbox Code Playgroud)
有人可以提供这方面的建议吗?
更新:
问题已经解决了。请参阅我与@CommmonsWare 的交流。