以上就是给各位分享android-studio–从AndroidStudio导出一个Libgdx游戏作为可执行文件夹,其中也会对androidstudio导出apk进行解释,同时本文还将给你拓展And
以上就是给各位分享android-studio – 从Android Studio导出一个Libgdx游戏作为可执行文件夹,其中也会对android studio导出apk进行解释,同时本文还将给你拓展Android studio 使用心得(四)---android studio 多渠道打包、Android Studio 北极狐更新后,Android Studio 需要很长时间来构建项目、Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目、Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- android-studio – 从Android Studio导出一个Libgdx游戏作为可执行文件夹(android studio导出apk)
- Android studio 使用心得(四)---android studio 多渠道打包
- Android Studio 北极狐更新后,Android Studio 需要很长时间来构建项目
- Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目
- Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error
android-studio – 从Android Studio导出一个Libgdx游戏作为可执行文件夹(android studio导出apk)
解决方法
gradlew desktop:dist
更多:https://github.com/libgdx/libgdx/wiki/Gradle-on-the-Commandline#packaging-for-the-desktop
Android studio 使用心得(四)---android studio 多渠道打包
第一就是配置:在项目的build.gradle里面配置 先上图,再上代码。
第二步,就是打包。(网上有介绍用命令打包,可是我这人太懒,发现了个小窍门,直接在android studio 里面进行。)上图(另外,后面我还是补上了gradle命令打包的介绍。大家可以看看http://my.oschina.net/aibenben/blog/370985)
如果没有keystore,先创建一个,默认为.jks文件,一样的。
大家这里创建完后,可以再回头看看前面配置的build.gradle里面signingConfigs的内容。是不是就懂了(其实我这里有一个疑问,感觉如果用我这种方式去打包,签名文件都没有去读取配置文件里面的了)
大家可以注意这里的Flavors,先回头看看前面配置的buld.gradle文件里面的productFlavors,嘿嘿,渠道都在这了,按住ctrl,选择你要打包的渠道,然后Finish.静静等待。需要要时间
打包成功!点击直接会进入到项目
打包好的apk,就在这了。
----当然,打包的过程中,好多盆友可能会遇到一个错误.导致打包失败。
Execution failed for task '':proguardGooglePlayRelease''.java.io.IOException: Can''t write [D:\androidstudiocode\Demo4\build\intermediates\classes-proguard\GooglePlay\release\classes.jar] (Can''t read [D:\androidstudiocode\Demo4\build\intermediates\exploded-aar\Demo4\appcompat_v7_8\unspecified\libs\android-support-v4.jar(;;;;;;!META-INF/MANIFEST.MF)] (Duplicate zip entry [android/support/v4/b/d.class == android-support-v4.jar:android/support/v4/os/ParcelableCompatCreatorHoneycombMR2.class]))
是因为混淆打包的时候,有重复的v4包,所以你只需要删掉一个,在Demo4这个项目里面,我是直接注释掉
再打包,等待,成功。
打包成功,我们可以验证 Android 多渠道打包渠道验证 .
最后直接贴上配置代码
apply plugin: ''com.android.application''
dependencies {
// compile fileTree(dir: ''libs'', include: ''*.jar'')
compile project('':appcompat_v7_8'')
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath ''com.android.tools.build:gradle:1.0.0''
}
}
android {
compileSdkVersion 19
buildToolsVersion "21.0.2"
sourceSets {
main {
manifest.srcFile ''AndroidManifest.xml''
java.srcDirs = [''src'']
resources.srcDirs = [''src'']
aidl.srcDirs = [''src'']
renderscript.srcDirs = [''src'']
res.srcDirs = [''res'']
assets.srcDirs = [''assets'']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot(''tests'')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot(''build-types/debug'')
release.setRoot(''build-types/release'')
}
defaultConfig {
applicationId "com.example.demo4"
minSdkVersion 8
targetSdkVersion 19
versionCode 1
versionName "1.0"
// dex突破65535的限制
multiDexEnabled true
// AndroidManifest.xml 里面UMENG_CHANNEL的value为 ${UMENG_CHANNEL_VALUE} manifestPlaceholders = [UMENG_CHANNEL_VALUE: "channel_name"]
}
//执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。
lintOptions {
abortOnError false
}
//签名
signingConfigs {
debug {
storeFile file("C:/Users/xxx/.android/debug.keystore")
}
relealse {
storeFile file("demo.jks")
storePassword "demo123456"
keyAlias "demo_4"
keyPassword "demo123456"
}
}
buildTypes {
debug {
// 显示Log
buildConfigField "boolean", "LOG_DEBUG", "true"
versionNameSuffix "-debug"
minifyEnabled false
zipAlignEnabled false
shrinkResources false
signingConfig signingConfigs.debug
}
release {
// 不显示Log
buildConfigField "boolean", "LOG_DEBUG", "false"
//混淆
minifyEnabled true
//Zipalign优化
zipAlignEnabled true
// 移除无用的resource文件
shrinkResources true
//加载默认混淆配置文件 progudard-android.txt在sdk目录里面,不用管,proguard.cfg是我们自己配<span></span>的混淆文件
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard.cfg''
//签名
signingConfig signingConfigs.relealse
}
}
//渠道Flavors,我这里写了一些常用的
productFlavors {
GooglePlay {}
xiaomi {}
umeng {}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith(''.apk'')) {
def fileName = outputFile.name.replace(".apk", "-${defaultConfig.versionName}.apk")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
Android Studio 北极狐更新后,Android Studio 需要很长时间来构建项目
如何解决Android Studio 北极狐更新后,Android Studio 需要很长时间来构建项目?
看看正常构建需要多少时间 如果您有任何解决方案,请帮助我
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目
一:什么是安卓
1.Android 是一种基于 Linux 的自由及开放源代码的操作系统。
2.Android 操作系统最初由 Andy Rubin 开发,主要支持手机。
3.Android 一词的本义指 “机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。








Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error
如何解决Android Studio 安装未找到 C:\\users\\user\\library\\android studio/Contents created Android IDE error
在进行包括 Android 在内的 Flutter 升级时,我收到错误:
在 C:\\users\\user\\library\\android studio/Contents 中找不到 Android Studio
无法重置可配置
java.lang.RuntimeException:无法执行 gpg:退出代码 2,错误输出:gpg:警告:homedir ''/Users/User/.gnupg'' 上的所有权不安全 gpg:无法创建临时文件“/Users/User/.gnupg/.#lk0x00007fbb15c08e80.Marks-MacBook-Pro.local.17880”:权限被拒绝 gpg:密钥块资源“/Users/User/.gnupg/pubring.kbx”:权限被拒绝 gpg:无法创建临时文件“/Users/User/.gnupg/.#lk0x00007fbb15c093d0.Marks-MacBook-Pro.local.17880”:权限被拒绝 gpg:致命:无法为“/Users/User/.gnupg/trustdb.gpg”创建锁
at com.intellij.credentialStore.gpg.GpgToolWrapperImpl.doExecute(GpgToolWrapperImpl.kt:105)
at com.intellij.credentialStore.gpg.GpgToolWrapperImpl.listSecretKeys(GpgToolWrapperImpl.kt:25)
at com.intellij.credentialStore.gpg.Pgp.listKeys(gpgUtil.kt:14)
at com.intellij.credentialStore.PasswordSafeConfigurableui.reset(PasswordSafeConfigurable.kt:65)
at com.intellij.credentialStore.PasswordSafeConfigurableui.reset(PasswordSafeConfigurable.kt:49)
at com.intellij.openapi.options.ConfigurableBase.reset(ConfigurableBase.java:50)
at com.intellij.openapi.options.ex.ConfigurableWrapper.reset(ConfigurableWrapper.java:177)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.reset(ConfigurableCardPanel.java:166)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$createConfigurableComponent$4(ConfigurableCardPanel.java:118)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.createConfigurableComponent(ConfigurableCardPanel.java:105)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.lambda$create$0(ConfigurableCardPanel.java:54)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:894)
at com.intellij.openapi.application.ReadAction.compute(ReadAction.java:61)
at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:53)
at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:51)
at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:48)
at com.intellij.ui.cardlayoutPanel.createValue(cardlayoutPanel.java:73)
at com.intellij.ui.cardlayoutPanel.select(cardlayoutPanel.java:101)
at com.intellij.ui.cardlayoutPanel.lambda$null$0(cardlayoutPanel.java:117)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokelater$4(ApplicationImpl.java:310)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultdispatchEvent(IdeEventQueue.java:974)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
at java.awt.EventdispatchThread.pumpOneEventForFilters(EventdispatchThread.java:205)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:116)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:109)
at java.awt.WaitdispatchSupport$2.run(WaitdispatchSupport.java:190)
at java.awt.WaitdispatchSupport$4.run(WaitdispatchSupport.java:235)
at java.awt.WaitdispatchSupport$4.run(WaitdispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitdispatchSupport.enter(WaitdispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1077)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:708)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:437)
at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1685)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1644)
at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:80)
at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:54)
at com.intellij.ui.mac.MacOSApplicationProvider$Worker.lambda$null$1(MacOSApplicationProvider.java:78)
at com.intellij.ui.mac.MacOSApplicationProvider$Worker.lambda$submit$7(MacOSApplicationProvider.java:175)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:201)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokelater$4(ApplicationImpl.java:310)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:80)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:128)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:184)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultdispatchEvent(IdeEventQueue.java:974)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:847)
at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:449)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:741)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:448)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:831)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:496)
at java.awt.EventdispatchThread.pumpOneEventForFilters(EventdispatchThread.java:205)
at java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:116)
at java.awt.EventdispatchThread.pumpEventsForHierarchy(EventdispatchThread.java:105)
at java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:101)
at java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:93)
at java.awt.EventdispatchThread.run(EventdispatchThread.java:82)
关于android-studio – 从Android Studio导出一个Libgdx游戏作为可执行文件夹和android studio导出apk的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android studio 使用心得(四)---android studio 多渠道打包、Android Studio 北极狐更新后,Android Studio 需要很长时间来构建项目、Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目、Android Studio 安装未找到 C:\users\user\library\android studio/Contents created Android IDE error等相关知识的信息别忘了在本站进行查找喔。
本文标签: