如何在 LibGDX 中保存和检索图像文件。我想在 AndroidApplication 类的本地存储中保存一个图像文件,并在我的核心项目中检索它。
如果我在调试中构建我的应用程序,它可以很好 但是,当我使用proguard构建发布时,我会遇到几个错误,然后构建失败.错误摘要:
Warning:there were 445 unresolved references to classes or interfaces.
Warning:there were 13 instances of library classes depending on program classes.
Run Code Online (Sandbox Code Playgroud)
我修改了我的proguard-rules.txt文件,如下所示.这使得构建成功,但是当我安装应用程序时,亚马逊下载不起作用(在调试版本中工作).
-keep class org.xmlpull.v1.**
-keep class org.apache.http.**
-keep class org.ietf.jgss.**
-keep class com.amazonaws.services.**
-keep class org.w3c.dom.bootstrap.**
-dontwarn org.xmlpull.v1.**
-dontwarn org.apache.http.**
-dontwarn org.ietf.jgss.**
-dontwarn com.amazonaws.services.**
-dontwarn org.w3c.dom.bootstrap.**
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何建议吗?
更新:
已将其缩小到GSON/JSONPARSER问题.对于发行版本,JSONPARSER不会像在调试中那样将下载的json转换为提供的类.GSON proguard规则(参见更新2)也已添加,但问题仍然存在.
-keep class org.apache.commons.logging.** { *; }
-keep class com.amazonaws.services.sqs.QueueUrlHandler { *; }
-keep class com.amazonaws.javax.xml.transform.sax.* { public *; }
-keep class com.amazonaws.javax.xml.stream.** { *; }
-keep class com.amazonaws.services.**.model.*Exception* …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用PathInterpolatorfrom,android.support.v4.view.animation.PathInterpolatorCompat
因为PathInterpolator自从它在API 21中添加后,我的设备API 18就无法使用。
我已经下载了支持库,并将以下内容包含build.gradle在app目录下:
compile "com.android.support:support-v4:21.0.0"
Run Code Online (Sandbox Code Playgroud)
我正在尝试像这样使用它:
PathInterpolator p_interpolator = new PathInterpolator(.5f,1.0f);
Run Code Online (Sandbox Code Playgroud)
但是,在Android Studio中,它提示从导入:android.view.animation.PathInterpolator而不是为我提供兼容版本的选项。
我需要做什么?
编者注:的正确用法PathInterpolatorCompat是(如@fernforce在接受的答案的评论中提到的):
PathInterpolator p_interpolator = PathInterpolatorCompat.create(.5f,1.0f);
Run Code Online (Sandbox Code Playgroud) 我有一个字符串abc~def~ghij~klm~nop~qrstu~vwx~hj.我想将它拆分两次(结果为三个部分):这意味着无论我在哪里得到~符号我需要拆分abc,def第三个只作为单个字符串ghij~klm~nop~qrstu~vwx~hj.
我知道如何在~符号出现的地方分成字符串
String[] parts = stat.split("~");
String part1 = parts[0];
String part2 = parts[1];
String part3 = parts[2];
Run Code Online (Sandbox Code Playgroud)
在这里我只获得part3 ghij,我需要整个字符串保持长~符号.
一位客户要求我制作我的应用程序的版本,使其可以在没有Google Play服务的设备上运行。
有没有办法告诉Android模拟器在不使用GPS的情况下运行该应用程序?
然后,我可以测试代码以确保它可以在客户端设备上运行。
我知道这是一个微不足道的功能,但是 Android Studio 中有一个选项可以将项目文件夹打开到文件资源管理器(来自 AS)吗?
ps 始终可以按照 AS 窗口标题上显示的路径导航到项目文件夹。
Gradle 守护进程在 4 秒 958 毫秒内启动
任务 :prepareKotlinBuildScriptModel UP-TO-DATE 无法加载文件 C:\Users\toshiba.android\repositories.cfg。检查 C:\Users\toshiba\AppData\Local\Android\Sdk\licenses 中Android SDK Build-Tools 29.0.2 包的许可证 警告:不接受包 Android SDK Build-Tools 29.0.2 的许可证。 在 C:\Users\toshiba\AppData\Local\Android\Sdk\licenses中检查包 Android SDK Platform 28 的许可证 警告:不接受包 Android SDK Platform 28 的许可证。
我注意到在 Java8 中,AndroidStudio (Arctic Fox) 中的 viewBinding 没有问题。
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding true
}
Run Code Online (Sandbox Code Playgroud)
但是,一旦我设置compileOptions为JavaVersion.VERSION_11,AndroidStudio 总是错误地显示 viewBiding(s) 错误,尽管它可以毫无问题地编译和运行。
我在 AndroidStudio ArcticFox 中使用一个全新的项目对此进行了测试。它建议导入类。导入后,显示未找到包:
这是 AndroidStudio 的错误,还是我的 AndroidStudio 中的 Java 编译器设置有任何错误配置?
我所做的只是一些特别的事情JavaVersion.VERSION_11。
我是这样解决的,你觉得正确吗?
getColor(int id, Theme theme);
getColor(R.color.green, getContext().getTheme());
Run Code Online (Sandbox Code Playgroud)
其中“绿色”在res/colors.xml:
<color name="green">#FF00FF00</color>
Run Code Online (Sandbox Code Playgroud) 我们正在使用 targetSdkVersion 30,我正在尝试将其更新到 31
当我将 targetSdkVersion 设置为 31 时,我无法运行/编译该应用程序,因为它在 manifest.xml 中出现构建失败错误:
android:exported 需要明确指定。
android:exported当相应组件定义了意图过滤器时,面向 Android 12 及更高版本的应用需要指定显式值。 有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported 。src/main/AndroidManifest.xml
我检查了清单文件,为每个活动添加了 android:exported = true/false,接收者!
如果我将目标 SDK 版本设置为 30,则没有问题,但设置为 31,并且我确信我已将 android:exported 添加到清单中的所有适用组件
请帮我