Android studio 从Android Studio构建时使用修改的gradlew
我有一个Android应用程序,我正试图从命令行和Android Studio中构建它。作为定制的一部分,我修改了Studio自动创建的Android studio 从Android Studio构建时使用修改的gradlew,android-studio,gradlew,Android Studio,Gradlew,我有一个Android应用程序,我正试图从命令行和Android Studio中构建它。作为定制的一部分,我修改了Studio自动创建的gradlew文件中的DEFAULT\u JVM\u OPTS。(具体来说,我添加了-Djavax.net.ssl.trustStore) 但是,我认为在Studio中运行时(例如,单击“运行”按钮),它们不会被拾取。如何在Studio中进行相同的修改?如果我可以在一个地方进行此更改,并且命令行构建和Studio构建都可以使用它,我会特别喜欢它 编辑:我找到了一
gradlew
文件中的DEFAULT\u JVM\u OPTS
。(具体来说,我添加了-Djavax.net.ssl.trustStore
)
但是,我认为在Studio中运行时(例如,单击“运行”按钮),它们不会被拾取。如何在Studio中进行相同的修改?如果我可以在一个地方进行此更改,并且命令行构建和Studio构建都可以使用它,我会特别喜欢它
编辑:我找到了一个解决方案(见下文),但这是一个解决方案,可能不适用于所有情况。如果有办法让Android Studio获取在
gradlew
中所做的更改,我会非常高兴。我已经能够通过在我的build.gradle
中设置系统属性来解决这个问题,如下所示:
System.setProperty('javax.net.ssl.trustStore','.keystore')
System.setProperty('javax.net.ssl.trustStorePassword','changeit')
使用~/.gradle/gradle.properties
文件指定javax.net.ssl.trustStore
时,也存在同样的问题。Android Studio只是忽略了它。奇怪的是,如果您在Android Studio settings.interest中指定代理设置,它会很高兴地将代理设置存储在该文件中。最后,我不得不在运行时设置系统属性(请参见我的答案),结果非常好!这让我想到了如何“全局”修复它,因为我不希望javax.net.ssl.trustStore
特定于一次回购。我创建了一个truststore.gradle
文件,并将其放在~/.gradle/init.d/
下,在该文件中添加了System.setProperty(“javax.net.ssl.truststore”,“我的信任库路径”)
。就像命令行中的符咒一样,希望它也能对AndroidStudio起作用。我可以证实,这个技巧对AndroidStudio也起作用:)