Android studio Gradle只在Android Studio内部出现故障,在外部效果很好

Android studio Gradle只在Android Studio内部出现故障,在外部效果很好,android-studio,gradle,build,android-gradle-plugin,android-resources,Android Studio,Gradle,Build,Android Gradle Plugin,Android Resources,我正在做一个Gradle 2.14.1和Android Studio 2.1.3的项目 当我尝试从IDE(Android Studio 2.1.3)构建和运行应用程序时,输出APK会导致IMMIDATE crush,日志如下: 08-16 15:49:47.368 1222-1222/my.package.name D/dalvikvm: VFY: replacing opcode 0x1c at 0x0058 08-16 15:49:47.372 1222-1222/my.package.na

我正在做一个Gradle 2.14.1和Android Studio 2.1.3的项目

当我尝试从IDE(Android Studio 2.1.3)构建和运行应用程序时,输出APK会导致IMMIDATE crush,日志如下:

08-16 15:49:47.368 1222-1222/my.package.name D/dalvikvm: VFY: replacing opcode 0x1c at 0x0058
08-16 15:49:47.372 1222-1222/my.package.name E/LoginActivity: ******** starting onCreate *******
08-16 15:49:47.372 1222-1222/my.package.name W/ResourceType: Failure getting entry for 0x7f02004e (t=1 e=78) in package 0 (error -75)
08-16 15:49:47.372 1222-1222/my.package.name D/AndroidRuntime: Shutting down VM
08-16 15:49:47.372 1222-1222/my.package.name W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa6159908)
08-16 15:49:47.416 1222-1222/my.package.name E/AndroidRuntime: FATAL EXCEPTION: main
         java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package.name/com.ngsoft.dynamic_surveys.activities.LoginActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
             at android.app.ActivityThread.access$600(ActivityThread.java:141)
             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
             at android.os.Handler.dispatchMessage(Handler.java:99)
             at android.os.Looper.loop(Looper.java:137)
             at android.app.ActivityThread.main(ActivityThread.java:5041)
             at java.lang.reflect.Method.invokeNative(Native Method)
             at java.lang.reflect.Method.invoke(Method.java:511)
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
             at dalvik.system.NativeStart.main(Native Method)
          Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>
             at android.view.LayoutInflater.createView(LayoutInflater.java:613)
             at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
             at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
             at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
             at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
             at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
             at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
             at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
             at android.app.Activity.setContentView(Activity.java:1881)
             at com.ngsoft.dynamic_surveys.activities.LoginActivity.onCreate(LoginActivity.java:74)
             at android.app.Activity.performCreate(Activity.java:5104)
             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
             at android.app.ActivityThread.access$600(ActivityThread.java:141) 
             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
             at android.os.Handler.dispatchMessage(Handler.java:99) 
             at android.os.Looper.loop(Looper.java:137) 
             at android.app.ActivityThread.main(ActivityThread.java:5041) 
             at java.lang.reflect.Method.invokeNative(Native Method) 
             at java.lang.reflect.Method.invoke(Method.java:511) 
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
             at dalvik.system.NativeStart.main(Native Method) 
          Caused by: java.lang.reflect.InvocationTargetException
             at java.lang.reflect.Constructor.constructNative(Native Method)
             at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
             at android.view.LayoutInflater.createView(LayoutInflater.java:587)
             at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
             at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
             at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
             at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
             at android.app.Activity.setContentView(Activity.java:1881) 
             at com.ngsoft.dynamic_surveys.activities.LoginActivity.onCreate(LoginActivity.java:74) 
             at android.app.Activity.performCreate(Activity.java:5104) 
             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
             at android.app.ActivityThread.access$600(ActivityThread.java:141) 
             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
             at android.os.Handler.dispatchMessage(Handler.java:99) 
             at android.os.Looper.loop(Looper.java:137) 
             at android.app.ActivityThread.main(ActivityThread.java:5041) 
             at java.lang.reflect.Method.invokeNative(Native Method) 
             at java.lang.reflect.Method.invoke(Method.java:511) 
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
             at dalvik.system.NativeStart.main(Native Method) 
          Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f02004e a=-1 r=0x7f02004e}
             at android.content.res.Resources.loadDrawable(Resources.java:1927)
             at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
             at android.view.View.<init>(View.java:3330)
             at android.view.ViewGroup.<init>(ViewGroup.java:431)
             at android.widget.LinearLayout.<init>(LinearLayout.java:176)
             at android.widget.LinearLayout.<init>(LinearLayout.java:172)
             at java.lang.reflect.Constructor.constructNative(Native Method) 
             at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
             at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
             at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
             at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
             at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
             at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
             at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270) 
             at android.app.Activity.setContentView(Activity.java:1881) 
             at com.ngsoft.dynamic_surveys.activities.LoginActivity.onCreate(LoginActivity.java:74) 
             at android.app.Activity.performCreate(Activity.java:5104) 
             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
             at android.app.ActivityThread.access$600(ActivityThread.java:141) 
             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
             at android.os.Handler.dispatchMessage(Handler.java:99) 
             at android.os.Looper.loop(Looper.java:137) 
             at android.app.ActivityThread.main(ActivityThread.java:5041) 
             at java.lang.reflect.Method.invokeNative(Native Method) 
             at java.lang.reflect.Method.invoke(Method.java:511) 
             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
             at dalvik.system.NativeStart.main(Native Method) 


         [ 08-16 15:49:47.428   428:  443 D/         ]
         HostConnection::get() New Host Connection established 0xb7f388f8, tid 443
到目前为止还不错(或不好…),但让我惊讶的是,当我从命令行
gradlebuild
将同一个gradle2.14.1与这个项目一起使用时,它生成了可以工作的APK

在第一次从命令行生成时,gradle带来了一些依赖项:

> gradle build
Download https://jcenter.bintray.com/com/android/tools/build/gradle/2.1.3/gradle-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.1.3/gradle-core-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/builder/2.1.3/builder-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/lint/lint/25.1.3/lint-25.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
Download https://jcenter.bintray.com/com/android/tools/build/gradle-api/2.1.3/gradle-api-2.1.3.pom
Download https://jcenter.bintray.com/com/android/databinding/compilerCommon/2.1.3/compilerCommon-2.1.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm/5.0.3/asm-5.0.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3.pom
Download https://jcenter.bintray.com/org/ow2/ow2/1.3/ow2-1.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.pom
Download https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.pom
Download https://jcenter.bintray.com/net/sf/proguard/proguard-parent/5.2.1/proguard-parent-5.2.1.pom
Download https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.6.201602180812/org.jacoco.core-0.7.6.201602180812.pom
Download https://jcenter.bintray.com/org/jacoco/org.jacoco.build/0.7.6.201602180812/org.jacoco.build-0.7.6.201602180812.pom
Download https://jcenter.bintray.com/org/antlr/antlr/3.5.2/antlr-3.5.2.pom
Download https://jcenter.bintray.com/org/antlr/antlr-master/3.5.2/antlr-master-3.5.2.pom
但我认为Android studio也能做到这一点

我的问题:

同一个构建脚本如何在IDE之外生成好的APK,而在IDE内部生成坏的APK? 我在IDE中做错了什么?
如何解决它?

关闭Android Studio,进入项目目录,取消隐藏!隐藏文件,然后删除
.gradle
(正常隐藏)、
build
app/build
文件夹。在那之后,运行Android Studio-文件夹将被重新创建但不起作用,Android Studio仍然编译坏的APK,Gradle从命令行编译它goodclose Android Studio,进入项目目录,取消隐藏!隐藏文件,然后删除
.gradle
(正常隐藏)、
build
app/build
文件夹。之后,运行Android Studio——这些文件夹将被重新创建,但不起作用,Android Studio仍然编译坏的APK,而Gradle从命令行编译好的APK
> gradle build
Download https://jcenter.bintray.com/com/android/tools/build/gradle/2.1.3/gradle-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.1.3/gradle-core-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/builder/2.1.3/builder-2.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/lint/lint/25.1.3/lint-25.1.3.pom
Download https://jcenter.bintray.com/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.pom
Download https://jcenter.bintray.com/com/android/tools/build/gradle-api/2.1.3/gradle-api-2.1.3.pom
Download https://jcenter.bintray.com/com/android/databinding/compilerCommon/2.1.3/compilerCommon-2.1.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm/5.0.3/asm-5.0.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm-parent/5.0.3/asm-parent-5.0.3.pom
Download https://jcenter.bintray.com/org/ow2/ow2/1.3/ow2-1.3.pom
Download https://jcenter.bintray.com/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.pom
Download https://jcenter.bintray.com/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.pom
Download https://jcenter.bintray.com/net/sf/proguard/proguard-parent/5.2.1/proguard-parent-5.2.1.pom
Download https://jcenter.bintray.com/org/jacoco/org.jacoco.core/0.7.6.201602180812/org.jacoco.core-0.7.6.201602180812.pom
Download https://jcenter.bintray.com/org/jacoco/org.jacoco.build/0.7.6.201602180812/org.jacoco.build-0.7.6.201602180812.pom
Download https://jcenter.bintray.com/org/antlr/antlr/3.5.2/antlr-3.5.2.pom
Download https://jcenter.bintray.com/org/antlr/antlr-master/3.5.2/antlr-master-3.5.2.pom