由于几天后就可以在Android应用中使用应用内结算功能.当然很酷.所以,我开始为我的应用程序进行更新以实现它.但现在我遇到了一些问题.这就是我做的:
现在出现了问题.当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文本:
" 应用程序错误:此版本的应用程序未配置为市场结算.请查看帮助中心以获取更多信息. "
我在日志中找不到任何奇怪的东西.谁知道我在这里做错了什么?
我正在尝试迁移到androidx.我在Android Studio中使用了迁移工具.当我这样做时,我运行我的应用程序时得到以下堆栈跟踪.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.peerke.outdoorpuzzlegame.debug, PID: 10901
java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.peerke.outdoorpuzzlegame.debug-IBtFsngoLqc-cQb_hOO5wQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.peerke.outdoorpuzzlegame.debug-IBtFsngoLqc-cQb_hOO5wQ==/lib/x86, /system/lib]]
at android.app.ActivityThread.installProvider(ActivityThread.java:6376)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5932)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5847)
at android.app.ActivityThread.access$1000(ActivityThread.java:198)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1637)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6649)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:826)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.peerke.outdoorpuzzlegame.debug-IBtFsngoLqc-cQb_hOO5wQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.peerke.outdoorpuzzlegame.debug-IBtFsngoLqc-cQb_hOO5wQ==/lib/x86, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateProvider(AppComponentFactory.java:121)
at androidx.core.app.CoreComponentFactory.instantiateProvider(CoreComponentFactory.java:62)
at android.app.ActivityThread.installProvider(ActivityThread.java:6360)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5932)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5847)
at …
Run Code Online (Sandbox Code Playgroud) 我有一个问题,Gradle无法找到我的依赖项(Android支持库).
我的build.gradle看起来像这样:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile files('libs/FlurryAgent.jar')
compile group: 'com.google.android', name: 'support-v4', version: 'r7'
compile files('libs/YouTubeAndroidPlayerApi.jar')
}
android {
compileSdkVersion 17
buildToolsVersion "17"
defaultConfig {
minSdkVersion 11
targetSdkVersion 17
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
Run Code Online (Sandbox Code Playgroud)
当我构建(在命令行上,没有IDE)时,我收到以下消息:
FAILURE: Build failed with an exception.
* …
Run Code Online (Sandbox Code Playgroud) 我将ADBannerView添加到视图中,当我加载应用程序时,我收到以下消息:
ADBannerView:警告横幅视图(0x7a023c0)有广告但可能会被遮挡.此消息仅在每个横幅视图中打印一次.
据我所知,整个横幅在屏幕上可见.这真的是个问题吗?或者这只是一个我可以忽略的警告?
我用Facebook Android SDK 3.0创建了一个Android应用程序.
我创建了一个工作应用程序(从Eclipse运行时).它将创建一个Facebook会话(使用com.facebook.UiLifecycleHelper)和一个登录按钮(使用com.facebook.LoginButton),以便用户可以登录Facebook.Facebook身份验证对话框正在显示,填写凭据后,登录按钮将显示用户已登录到Facebook.
所以,一切正常,但是当我正在进行发布版本(启用了Proguard)时,我得到以下异常:
E/AndroidRuntime(14690): FATAL EXCEPTION: main
E/AndroidRuntime(14690): com.facebook.FacebookException: Unable to save session.
E/AndroidRuntime(14690): at com.facebook.Session.saveSession(Session.java:673)
E/AndroidRuntime(14690): at com.facebook.UiLifecycleHelper.onSaveInstanceState(UiLifecycleHelper.java:124)
E/AndroidRuntime(14690): at com.peerkesoftware.blockcrusher.MorburActivity.onSaveInstanceState(MorburActivity.java:175)
E/AndroidRuntime(14690): at android.app.Activity.performSaveInstanceState(Activity.java:1147)
E/AndroidRuntime(14690): at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1216)
E/AndroidRuntime(14690): at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3253)
E/AndroidRuntime(14690): at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3312)
E/AndroidRuntime(14690): at android.app.ActivityThread.access$900(ActivityThread.java:150)
E/AndroidRuntime(14690): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
E/AndroidRuntime(14690): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(14690): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(14690): at android.app.ActivityThread.main(ActivityThread.java:5191)
E/AndroidRuntime(14690): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(14690): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(14690): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
E/AndroidRuntime(14690): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
E/AndroidRuntime(14690): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(14690): Caused by: java.io.NotSerializableException: com.facebook.internal.SessionTracker$CallbackWrapper
E/AndroidRuntime(14690): at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1364)
E/AndroidRuntime(14690): at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1671) …
Run Code Online (Sandbox Code Playgroud) 当我使用'gradlew connectedCheck'命令时,它总是构建调试版本并针对我的应用程序的调试版本进行测试.是否也可以测试我的应用程序的发布版本?
我想启用proguard并希望确保它不会过滤运行时所需的任何内容.
我打算用Polymer创建一个webapp.对于该webapp,我需要本地化.是否有聚合物方式进行本地化?有没有人在Polymer webapp中做过本地化?
我创建了一个自定义视图来显示我正在开发的游戏的游戏板.游戏板必须始终是一个正方形.因此,和高度应该是一样的.我按照本教程来实现这一目标.
我将以下代码添加到自定义视图中:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getMeasuredWidth();
int height = getMeasuredHeight();
int widthWithoutPadding = width - getPaddingLeft() - getPaddingRight();
int heigthWithoutPadding = height - getPaddingTop() - getPaddingBottom();
int maxWidth = (int) (heigthWithoutPadding * RATIO);
int maxHeight = (int) (widthWithoutPadding / RATIO);
if (widthWithoutPadding > maxWidth) {
width = maxWidth + getPaddingLeft() + getPaddingRight();
} else {
height = maxHeight + getPaddingTop() + getPaddingBottom();
}
setMeasuredDimension(width, height);
}
@Override
protected …
Run Code Online (Sandbox Code Playgroud) 我开始使用 Jetpack Compose,我对它非常满意。我替换了几个由@Composable
函数在 xml 中定义的布局。
当我回到我的 Navigation-xml 时,我注意到每个屏幕内的预览都是通过tools:layout
属性完成的。以及对 xml 中布局的属性引用。不是一个@Composable
函数。
@Composable
是否已经有一种方法可以从导航 xml 中引用函数,tools:layout
以便整个流程的预览可见?
在c#/ wpf中,我在窗口中添加了一个进度条和媒体元素.我们的想法是,进度条显示媒体元素的播放量.
我尝试使用以下xaml:
<Window x:Class="TestApp.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="627" Width="889">
<Grid>
<MediaElement Margin="152,8,140,41" Name="mediaElement1" MediaEnded="mediaElement1_MediaEnded" Visibility="Hidden" />
<ProgressBar Height="23" Margin="152,8,10,0" Name="mp3PlayingProgressBar" VerticalAlignment="Top" Foreground="DarkBlue" Maximum="{Binding Path=NaturalDuration.TimeSpan.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" Value="{Binding Path=Position.TotalSeconds, Mode=OneWay, ElementName=mediaElement1}" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
我试图将Maximum和Value属性绑定到mediaelement.但是当我将mp3加载到mediaelement时,进度条没有任何反应.(音乐正在播放,因此mp3已加载并正常播放).
我更喜欢用绑定来做这件事.
我在这做错了什么?
android ×7
gradle ×2
java ×2
androidx ×1
c# ×1
google-play ×1
iad ×1
ios4 ×1
iphone ×1
localization ×1
measure ×1
mediaelement ×1
polymer ×1
progress-bar ×1
testing ×1
wpf ×1
xaml ×1