小编Hon*_*ong的帖子

什么是Android SDK构建工具,平台工具和工具?应该使用哪个版本?

我知道这是一个非常基本的问题,但令我惊讶的是,我找不到任何关于Android SDK Build-tools的文档.除了Android SDK工具和Android SDK平台工具之外,还有一堆Android SDK Build-tools,如附图所示.任何人都可以指向一个解释所有这些内容的来源,并帮助澄清如何选择某个版本的Android SDK Build-tools使用?

在此输入图像描述

编辑(2014-02-27):

我仍然不完全了解所有工具.以下是基于Google最新文档的有限理解:

  • Android SDK Build-tools曾经是Android SDK Platform-tools的组件.它们已与Android SDK平台工具分离,因此可以独立于集成开发环境(IDE)组件更新构建工具.
  • Android SDK平台工具经过自定义,可支持最新Android平台的功能.它们向后兼容,因此您始终可以使用Android SDK平台工具的最新更新,甚至您的应用程序也可以使用较旧的Android平台.
  • SDK工具独立于平台,无论您正在开发哪个Android平台,都需要SDK工具.

我仍然不明白从Android SDK平台工具中获取Android SDK Build-tools的理由,这些工具具有单个实例并且易于管理更新.我能想到的唯一可能的原因是某些应用程序必须依赖较旧的构建组件来构建它们.谷歌的文件提到了这一点,但没有解释原因.查看发行说明,您会注意到Android SDK Build-tools的更新主要用于修复错误或/添加对新平台的支持.我可以想到一些应用程序使用旧版Android SDK Build-tools的唯一原因是它们依赖于Android SDK Build-tools的某些缺陷.如果没有使用这些错误构建,这些应用程序将无法正常运行.我希望Google能够通过提供一两个示例来更好地解释这一点,这些示例说明了为什么这些工具中的错误对某些应用程序至关重要

sdk android android-sdk-tools

326
推荐指数
5
解决办法
15万
查看次数

如何显示Android Studio的消息窗口?

当我构建项目并且存在错误时,显示所有错误的"消息"窗口并不总是显示.我必须两次或更多次构建项目(即Ctrl+ F9)才能看到窗口.

未显示窗口时,视图>工具>消息Alt + 0显示为灰色,如以下屏幕截图所示.如果出现构建错误,如何显示窗口?

我在Windows 8上运行最新的Android Studio.

Android Studio消息Windows已禁用

[编辑] 2018-04-02

Android Studio 3.1似乎删除了这个窗口,很多人可能因为不同的原因错过了"消息窗口"而来到这里,在这种情况下yuval的答案可能是正确的.

android-studio

81
推荐指数
4
解决办法
5万
查看次数

升级到Android Studio 3.4后与resources_ap相关的错误

我今天升级了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)

谁能提供有关如何解决此问题的提示?

编辑: 我有两个项目具有与此问题相关的不同行为:

  1. 项目A最初存在此问题。我根据答案禁用了Instant Run,问题已解决。我稍后启用了Instant Run,而Project A仍然可以正常工作。
  2. 项目B也存在此问题,可以通过启用“即时运行”来解决。但是,打开即时运行后,将立即发生其问题。我认为这两个项目之间没有什么区别。一个嫌疑人是图书馆C项目。库C是项目A的一部分(即其源代码,资源在项目A中)。但是,项目B使用库C的aar作为模块。

android-studio android-studio-3.4

71
推荐指数
4
解决办法
2万
查看次数

Gradle日志在哪里?

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引起的.

android-studio android-gradle-plugin

69
推荐指数
4
解决办法
4万
查看次数

按钮如何获得焦点?

有很多帖子涉及这个话题.我想我应该问这个简单的问题,希望澄清一下.

我无法将焦点设置在按钮上.我知道我可能会错过一些基本的东西 这是简单的布局:

<?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)

它根本不起作用(即按钮没有得到焦点).

任何纠正我的错误或误解将不胜感激.

android button

16
推荐指数
1
解决办法
3万
查看次数

安装 Android Studio Bumblebee 2021.1.1 补丁 1 的正确方法是什么

很抱歉,但我现在真的很困惑和怀疑,所以我求助于 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)

android-studio android-studio-bumblebee

13
推荐指数
1
解决办法
1523
查看次数

为什么没有setDisplayHomeAsUpEnabled()时出现向上按钮?

根据谷歌的文档,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 android-activity android-actionbar

12
推荐指数
1
解决办法
883
查看次数

Android Studio Bumblebee 频繁崩溃

我想知道是否有其他人遇到过这个问题并找到了解决方法。

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)

android-studio android-studio-bumblebee

12
推荐指数
1
解决办法
814
查看次数

如何获取GridView的行数?

有没有办法获得GridView for Android API Level 8的行数?

android gridview

11
推荐指数
1
解决办法
2万
查看次数

如何将 registerForActivityResult 与 androidx.fragment.app.Fragment 一起使用?

 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 的交流

android androidx

10
推荐指数
1
解决办法
3万
查看次数