我使用"导入 - >现有Android代码进入工作区"将actionbarsherlock文件夹导入工作区.然后我确保了以下内容:
在清单中:
<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="16"/>
属性 - > Android:构建目标是API 16(Android 4.1.2)并检查IsLibrary.
属性 - > Java编译器:编译器合规性级别设置为1.6.
但是我遇到了很多BuildConfig cannot be resolved to a variable错误.
我试图多次清理所有项目,甚至多次重启Eclipse.我甚至尝试手动添加BuildConfig类,但仍然有很多R cannot be resolved to a variable我无法解决的错误.
我已经阅读了几十个答案(例如这一个:使用ActionBarSherlock时R无法解决错误),但没有任何帮助.任何帮助都感激不尽.
Android开发工具和Android SDK工具以及Android SDK平台工具和Android SDK构建工具有什么区别?
为什么不将它们中的一些合并为更少的组?当我降级/升级它们时,4个工具让我很困惑.
我搜遍了谷歌,stackoverflow和其他Android编程网站,很多人都建议那些把文件从一个文件夹放到另一个文件夹的人等等......但没有一个能说明我面临的问题.
它不像这里的情况那样是一个损坏的文件,因为我尝试了这个没有成功.
我面临的错误是类似的:
[debug] C:\Users\Name\AppData\Local\Temp\android_manifest_copy6264790980678653632tmp\AndroidManifest.xml:11: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_launcher').
Run Code Online (Sandbox Code Playgroud)
类似地,这发生在@string元素,@ style元素和另一个@string,下面的示例:
'@string/app_name'
'@style/AppTheme'
'@string/app_name'
Run Code Online (Sandbox Code Playgroud)
我注意到的一件事,来自Eclipse的世界,我无法在Android Studio中解释这种行为.在我的"主"项目文件夹中,一切都存在并且正确构建用于调试.似乎Android Studio正试图建立一个'debug'文件夹,在运行'Build'>'Rebuild Project'时不会构建.
有谁知道我可以在哪里放置这些丢失的文件来构建项目?或者这是另一个问题吗?
当我尝试从终端运行./gradlew build.gradle时,我遇到了以下错误:
> No signature of method: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated) values: [project ':TestMobile']
Possible solutions: module(java.lang.Object)
Run Code Online (Sandbox Code Playgroud)
我尝试在root build.gradle文件和子项目中应用java插件.但我仍然得到同样的错误.
我有以下项目结构:
ProjectRepos
->build.gradle
->settings.gradle
->TestMobile (Android plugin)
->build.gradle
->ThirdParty/SlidingMenu (Android library)
->build.gradle
Run Code Online (Sandbox Code Playgroud)
顶级build.gradle包含:
// Top-level build file where you can add configuration options common to all sub- projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
compile project(':TestMobile')
compile project(':ThirdParty:SlidingMenu')
}
}
Run Code Online (Sandbox Code Playgroud)
settings.gradle包含以下内容:
include ':ThirdParty:SlidingMenu'
include ':TestMobile'
Run Code Online (Sandbox Code Playgroud)
TestMobile - > build.gradle包含以下内容:
apply plugin: 'android'
dependencies { …Run Code Online (Sandbox Code Playgroud) 我们有几个应用程序在布局和代码上非常相似.唯一的区别是我们将切换图形元素,并对单个常量文件和字符串文件进行更改.当然,这有几个问题 - 第一个是命名空间.拥有相同名称空间的应用程序将覆盖任何其他应用程序.
这样做有什么建议?目前我们的namesapce是:com.company.appname我想我可以这样做:com.company.appname.appversion
我已经看到有关蚂蚁脚本的帖子有助于此,但我想知道现在是否有更流畅的解决方案.
我已经更新了我的项目以使用新的基于Gradle的构建系统,很大程度上是因为我因为使用设备进行开发而无法在我的设备上安装我的应用程序而感到恼火.我packageNameSuffix在新构建系统的提供中看到了很多承诺.
我遇到的问题涉及清单中包名称以外的其他内容.还有其他部分必须是唯一的,包括权限(特别是对于GCM)和ContentProvider权限.当尝试使用.debug后缀进行安装时,我得到的错误是该程序包的GCM权限尚未定义,并且我正在尝试安装重复的提供程序.
是否有一个变量,我可以放在我的清单而不是这些字符串,以便构建系统也将适当地替换它们?
我正在使用gradle插件版本3.3.0并且我的gradle包装器正在使用 distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
我在我的app/build.gradle文件中使用以下代码:
applicationVariants.all { variant ->
variant.outputs.each { output ->
def apk = output.outputFile //happens here (line 26)
def newName
if (variant.buildType.name == "release") {
newName = "ediary.apk"
} else {
newName = "ediary-debug.apk"
}
output.outputFileName = new File(
"./build/",
output.outputFile.name)
if (output.zipAlign) {
output.outputFileName = new File(
"./build/",
newName.replace("-unaligned", ""))
}
}
}
Run Code Online (Sandbox Code Playgroud)
该项目构建,但我收到此警告:
警告:API
'variantOutput.getPackageApplication()'已过时且已替换为'variant.getPackageApplicationProvider()'.它将在2019年底删除.有关更多信息,请参阅https://d.android.com/r/tools/task-configuration-avoidance.原因:来自:C:\ Users\my name\StudioProjects\core\app\build.gradle:26
我如何重写这个以避免警告?
我第一次使用Android Studio,导入项目后出现了以下错误(以前这是一个我也有问题的eclipse项目.)
以下是给出的信息:
Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/home/crash-id/Development/SDK/adt-bundle-linux-x86_64-20140702/sdk/build-tools/21.1.2/dx --dex --no-optimize --output /home/crash-id/AndroidstudioProjects/LocalSin/app/build/intermediates/dex/debug --input-list=/home/crash-id/AndroidstudioProjects/LocalSin/app/build/intermediates/tmp/dex/debug/inputList.txt
Error Code:
2
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
:app:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Lcom/google/ads/AdRequest$ErrorCode;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at …Run Code Online (Sandbox Code Playgroud) 几个月来我一直面临这些"无法删除路径"的问题.
要运行我的应用程序,我总是要删除所有的app/build文件.但这非常耗时.
有时我必须重新启动android studio才能运行我的应用程序.
尝试清理项目并运行.尝试清理项目,构建项目并运行.尝试Invalidates缓存/重启也,但我的应用程序没有运行,直到我清除该项目构建文件夹.
这些是我得到的错误.
我可以重新安装Android Studio来解决这个问题,还是有解决办法摆脱它?
安装的构建工具修订版 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。
工作室版本4.2.1
尝试重新安装和删除以前的版本尝试从 build-tools-30.0.3 添加 dx.jar 和 dx.bat (这不是一个好的解决方案,即使添加后显示 dx.jar 文件不存在)
android android-build android-studio android-sdk-build-tools