- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试让 Buck 使用 Android Studio 中的 balnk 应用程序模板。
apps/snappy/BUCK
android_binary(
name = 'main',
manifest = 'AndroidManifest.xml',
keystore = '//keystores:debug',
package_type = 'debug',
deps = [
'//java:main',
'//res:res',
'//keystores:debug',
],
)
res/snappy/layout/activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.whitedrop.snappy.MainActivity">
....
</android.support.design.widget.CoordinatorLayout>
res/降压
android_resource(
name = 'res',
res = 'snappy',
package = 'com.whitedrop.snappy',
deps = [
'//libs:appcompat-v7',
'//libs:design'
],
visibility = [
'PUBLIC',
]
)
库/BUCK
android_prebuilt_aar(
name = 'appcompat-v7',
aar = 'appcompat-v7-23.0.1.aar',
visibility = ['PUBLIC']
)
android_prebuilt_aar(
name = 'design',
aar = 'design-23.0.1.aar',
visibility = ['PUBLIC']
)
Process com.whitedrop.snappy created for activity com.whitedrop.snappy/.MainActivity
PID: 2449 UID: GIDs:
ActivityManager I Start proc 2449:com.whitedrop.snappy/u0a61 for activity com.whitedrop.snappy/.MainActivity
art I Rejecting re-init on previously-failed class java.lang.Class<android.support.design.widget.CoordinatorLayout>
AndroidRuntime D Shutting down VM
E FATAL EXCEPTION: main
E Process: com.whitedrop.snappy, PID: 2449
E java.lang.RuntimeException: Unable to start activity ComponentInfo{com.whitedrop.snappy/com.whitedrop.snappy.MainActivity}: android.view.InflateExcept
ion: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
...E at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
E at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
E Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout
E at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:757)
....
E at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
E ... 10 more
E Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.design.widget.CoordinatorLayout" on path: DexPathList[[zip file "/data
/app/com.whitedrop.snappy-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
E at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
...
E at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:743)
E ... 19 more
E Suppressed: java.lang.NoClassDefFoundError: android.support.design.widget.CoordinatorLayout
E at dalvik.system.DexFile.defineClassNative(Native Method)
E .... at dalvik.system.DexPathList.findClass(DexPathList.java:321)
E at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
E ... 23 more
E Suppressed: java.lang.ClassNotFoundException: android.support.design.widget.CoordinatorLayout
E at java.lang.Class.classForName(Native Method)
E at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E ... 22 more
E Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
ActivityManager W Force finishing activity 1 com.whitedrop.snappy/.MainActivity
编辑:顺便说一句,我的 apk 在其 dex 文件中包含 CoordinatorLayout 类
EDIT2:完整代码可以在这里找到https://github.com/vinz243/snappy
EDIT3:尝试从 AppCompatActivity 扩展:
vinz243@vm:~/snappy$ buck build app
[-] PROCESSING BUCK FILES...FINISHED 0.1s [100%]
[+] DOWNLOADING... (0.00 B/S, TOTAL: 0.00 B, 0 Artifacts)
[+] BUILDING...0.3s [67%] (16/20 JOBS, 0 UPDATED, 0.0% CACHE MISS)
|=> IDLE
|=> IDLE
|=> //java:main... 0.2s (running javac[0.2s])
|=> IDLE
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:12: error: cannot access android.support.v4.app.TaskStackBuilder
public class MainActivity extends AppCompatActivity {
^
class file for android.support.v4.app.TaskStackBuilder not found
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:14: error: method does not override or implement a method from a supertype
@Override
^
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:16: error: cannot find symbol
super.onCreate(savedInstanceState);
^
symbol: variable super
location: class com.whitedrop.snappy.MainActivity
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:17: error: cannot find symbol
setContentView(R.layout.activity_main);
^
symbol: method setContentView(int)
location: class com.whitedrop.snappy.MainActivity
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:20: error: method does not override or implement a method from a supertype
@Override
^
/home/vinz243/snappy/java/com/whitedrop/snappy/MainActivity.java:23: error: cannot find symbol
getMenuInflater().inflate(R.menu.activity_main, menu);
^
symbol: method getMenuInflater()
location: class com.whitedrop.snappy.MainActivity
Errors: 6. Warnings: 0.
这是 MainActivity.java:
package com.whitedrop.snappy;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
编辑 5:
通过向 deps 添加支持 v4 修复了上述错误。现在我在运行时得到:
E java.lang.RuntimeException: Unable to start activity ComponentInfo{com.whitedrop.snappy/com.whitedrop.snappy.MainActivity}: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
E at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
E Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class android.support.v7.widget.Toolbar
E at android.view.LayoutInflater.createView(LayoutInflater.java:633)
E Caused by: java.lang.reflect.InvocationTargetException
E at java.lang.reflect.Constructor.newInstance(Native Method)
E at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
E at android.view.LayoutInflater.createView(LayoutInflater.java:607)
E ... 24 more
E Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/graphics/drawable/VectorDrawableCompat;
E at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:891)
E Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.graphics.drawable.VectorDrawableCompat" on path: DexPathList[[zip file
"/data/app/com.whitedrop.snappy-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
E at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
最佳答案
确保您在 BUCK
配置中提到的版本是正确的。
在您在问题中分享的代码中,我看到了用于支持和设计库的 v23.0.1
。在您的 github 存储库中,我看到了 v23.4.0
。
我怀疑是这个原因。更改为包含在 libs 文件夹中的正确版本,看看它是否有效。
更新以回应您问题中的编辑 5:
以下两个依赖项将有助于解决 VectorDrawableCompat ClassNotFoundException
。以适合 BUCK 的方式包含它们。
compile 'com.android.support:support-vector-drawable:23.4.0'
compile 'com.android.support:animated-vector-drawable:23.4.0'
关于android - 使用 Buck 未找到类 "android.support.design.widget.CoordinatorLayout",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37681117/
巴克有一些 useful macros ,例如 $(location :rule)。它是否也有获取平台名称的宏? 我需要根据构建目标的平台执行一些自定义逻辑。 最佳答案 它支持,但它只支持 nativ
我正在尝试使用 buck build leveldb . LevelDB 有一个 script that generates some platform-specific flags .我可以使用 g
尝试按照这些说明 (https://buckbuild.com/setup/getting_started.html) 构建 buck 示例项目时,我收到以下错误。 BUILD FAILED: No
我正在尝试使用 buck 构建 Eigen .不幸的是,Eigen 有一个不寻常的标题结构: Eigen/src/Cholesky/LLT.h Eigen/src/Cholesky/LDLT.h Ei
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
如标题所述 - 我想使用带有 Buck 的自定义 Java 注释处理器(例如 Dagger 1/2)。查看文档没有发现任何与 Java(或 Android)相关的构建规则的明显注释处理相关属性,而且我
我正在尝试使用 Buck 添加一个预构建的静态库作为我的 iOS 项目的依赖项。使用 prebuilt_cxx_library,我可以通过 CLI 让它正常工作,但是当它生成 .xcodeproj 文
与此票相关Parameters for annotation processors are disabled and undocumented 我们如何使用 annotation_processors
我正在为我的个人项目尝试降压,但查看文档时,我无法找到构建阶段实际发生的情况。当我使用 cxx_ 选项设置项目时,buck 会为我生成一个 makefile 还是会生成 CMakeLists.txt?
我正在尝试将项目从 Buck 迁移到 bazel,并寻找可用于 genrules 的 $(classpath) 宏的等效项。 bazel 中是否有类似的东西可以获取给定 java_library 的类
我一直在研究将 Buck 用于一个大型项目,但我想知道是否有与 gradle 的构建变体和产品风格等价的非常有用的东西。 最佳答案 对于调试与发布版本(即 BuildConfig.java 中的常量)
我正在玩本地 react 。我读了很多关于buckbuild系统。现在我正在尝试将这两者联系起来(以充分发挥核素编辑器的潜力)。 有没有人告诉我如何生成 buckconfig现有 React Nati
我正在尝试写一个 homebrew我的 Java 项目的公式。我正在使用buck构建项目,需要从 Maven 下载一些 jar 文件。 例如,我的 BUCK 文件具有: remote_file(
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 6 年前。 Improve th
根据 this thread , Buck 目前没有完整的多 dexing 支持——至少在“官方”解决方案如何解决多 dexing 的意义上是这样。 我感到困惑的是:如果我只去 Exopackage
我正在尝试根据最大小时数将一个事件放入多个存储桶中。在我的示例中,Pin 这里的最大小时数为 1938。因此,仅通过我的查询将其存储到 2000 范围。但理想情况下,由于大头针的使用时间已达到 193
大家好我的开发人员, 我正在尝试从 Gradle 切换到 Buck,但在使用 Dagger 和 Butterknife 进行设置时遇到问题,因为它们需要注释处理。 我找到了一些链接和教程,但它们已经有
如果我有如下测试 TEST(One, A) { ... } TEST(Two, B) { ... } 如何使用buck test 只运行One.A?我希望能够做到 buck test somethin
我正在尝试使用 Buck 构建测试在 Travis CI 服务器上使用 buck test C++ 目标(通过 GitHub),但有两件事我无法弄清楚。 我必须在 Travis 服务器上安装 Buck
我在自己的 C++ 项目中使用 Buck,但我依赖于使用 CMake 构建的第三方库。 CMake 文件很复杂,所以我认为在 Buck 中重新创建他们的 CMake 文件不切实际。相反,我想从 Buc
我是一名优秀的程序员,十分优秀!