GithubHelp home page GithubHelp logo

android-repository's Introduction

User Documentation

See the Wiki page for this repository.

Development

For developers interested in modifying the tool.

Building package

make <target>

Where target is:

  • deb for building Debian packages:

    make deb
    
  • rpm for building Fedora packages:

    make rpm
    

Specific settings can be set in built-time:

VERSION:

make VERSION=<version-string> <target>

MAINTAINER:

make MAINTAINER=<maintainer> <target>

An executable named smartling-cli should become available in your $GOPATH/bin.

Managing dependencies

Project uses manul vendoring tool, which uses vendoring through git-submodules.

After adding any third-party libraries, you need to update vendoring:

manul -Ir

android-repository's People

Contributors

andriipanasiuk avatar enegron-sl avatar foo4u avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

isabella232

android-repository's Issues

Couldn't get config from application meta data

I am seeing the following issue:

FATAL EXCEPTION: main
                  Process: com.couchsurfing.mobile.debug, PID: 9934
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.couchsurfing.mobile.debug/com.couchsurfing.mobile.ui.WelcomeActivity}: java.lang.RuntimeException: Couldn't get config from application meta data. Was it set on your build.gradle file?
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
                      at android.app.ActivityThread.-wrap12(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6119)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
                   Caused by: java.lang.RuntimeException: Couldn't get config from application meta data. Was it set on your build.gradle file?
                      at com.smartling.android.sdk.core.CoreImpl.a(SourceFile:46)
                      at com.smartling.android.sdk.core.CoreImpl.<init>(SourceFile:34)
                      at com.smartling.android.sdk.core.CoreImpl.getInstance(SourceFile:63)
                      at com.smartling.android.sdk.Smartling.proxy(SourceFile:56)
                      at com.couchsurfing.mobile.ui.WelcomeActivity.attachBaseContext(WelcomeActivity.java:0)
                      at android.app.Activity.attach(Activity.java:6615)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
                      at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6119) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

My config (2.2.3):

smartling {
  projectId = "93e7b42e8"
  auth {
    userIdentifier = "XX"
    userSecret = "XX"
  }
  mode = "context-capture"
  logLevel = "verbose"
}

Receiving errors while running instrumentation test

After adding the sdk, we started getting build failures. I checked the emulator logs (running on api21), I consistently see "large object space allocation': Too many open files", "Adding window failed" and "android.database.sqlite.SQLiteCantOpenDatabaseException". Do you have any insite to why we would receive these errors?

Context capture not working on version 4.0.0

I've followed every step on the Android SDK instruction for the version 4.0.0 but I wasn't able to neither open the dashboard nor run the automatic context capture. Whenever I run the ui test it fails with

junit.framework.AssertionFailedError
at junit.framework.Assert.fail(Assert.java:48)
at junit.framework.Assert.fail(Assert.java:56)
at com.smartling.android.context.automation.SmartlingInstrumentation.setUp(SourceFile:172)
at com.smartling.android.context.automation.ContextCaptureTestCase.setUp(SourceFile:15)
at java.lang.reflect.Method.invoke(Native Method)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at android.support.test.internal.runner.junit4.statement.RunBefores.evaluate(RunBefores.java:76)
at android.support.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:527)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at android.support.test.runner.AndroidJUnit4.run(AndroidJUnit4.java:101)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at android.support.test.internal.runner.TestExecutor.execute(TestExecutor.java:56)
at android.support.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:384)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2145)

The documentation seems to be broken, can someone please go over it and fix it.

onStringsLoaded is never called, am I missing something?

Here's my launch activity:

class LaunchActivity : BasePostmateActivity(), OTAListener {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.launch_activity)
    }

    override fun onStringsLoaded() {
        logE("STRINGS LOADED!!!!")
    }
}

That log line is never shown, and a breakpoint set on it never hits. Did I forget to configure something? Here's my smartling block from my gradle file:

smartling {
    projectId = "b7c533052"
    mode = "ota-serving"
    logLevel = "verbose"
    otaServing {
        projectSecret = "JOa0*snip*oxow=="
    }
    auth {
        userIdentifier = "kazw*snip*xyam"
        userSecret = "6uva*snip*hotj"
    }
    buildVariants {
        fastDevDebug {
//            mode = "context-capture"
            mode = "ota-serving"
        }
        slowMarketRelease {
            mode = "ota-serving"
        }
    }
}

As you can see, I made sure that the mode is set to ota-serving on all variants. I'm building the fastDevDebug variant.

Incorrect toolbar title color for collapsing toolbars

When building with the Smartling SDK the toolbar text color is wrong for activities using collapsible toolbars. The correct color in the example below is white, but with the Smartling SDK it becomes black.

Attached is an example project (with the Samrtling SDK commented out in the app/build.gradle). On the main activity click the toolbar button to launch the collapsing toolbar one. The SDK version is 2.3.2.

expanded-smartling
collapsed-smartling
expanded
collapsed

SmartlingMDN.zip

Context capture crash when pressing "Load strings"


E/AndroidRuntime: FATAL EXCEPTION: ContextCapture
Process: com.postmates.android.courier.dev, PID: 23067
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
    at com.smartling.android.review.context.service.ContextWorker.a(SourceFile:126)
    at com.smartling.android.review.context.service.ContextWorker.loadStrings(SourceFile:112)
    at com.smartling.android.review.context.service.ContextServiceHandler.a(SourceFile:111)
    at com.smartling.android.review.context.service.ContextServiceHandler.handleMessage(SourceFile:58)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.os.HandlerThread.run(HandlerThread.java:61)

The offending line (decompiled .class file):

  @Nullable
  private String a(SmartlingProject var1) {
    Iterator var2 = var1.getTargetLocales().iterator();

Manifest Tasks does not support the manifestOutputFile property any more

I'm running on the new Android Studio Gradle plugin 3.0 and I believe that there might be some incompatibility issues. After setting up I get the following error:

Manifest Tasks does not support the manifestOutputFile property any more, please use the manifestOutputDirectory instead. For more information, please check https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

I'm not sure but if the Smartling plugin is using the manifestOutputFile then it'll need to be updated accordingly (https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#manifestOutputFile)

Question about an error in the logs

@andriipanasiuk, not so much an issue as a question: from time to time I see these error entries in the log

E/SmartlingSdk( 8954): Can't create view android.support.v7.view.menu.ActionMenuItemView
E/SmartlingSdk(11130): Can't create view android.support.v7.widget.ActionBarOverlayLayout
E/SmartlingSdk(11130): Can't create view android.support.v7.widget.ContentFrameLayout
E/SmartlingSdk(11130): Can't create view android.support.v7.widget.ActionBarContainer
E/SmartlingSdk(11130): Can't create view android.support.v7.widget.Toolbar
E/SmartlingSdk(11130): Can't create view android.support.v7.widget.ActionBarContextView

Is this something to worry about?

Element type "meta-data" must be followed by ">" or "/>".

I'm unable to apply plugin for Smartling version 2.5 and compile. Android studio complains with the following:
Error:Element type "meta-data" must be followed by either attribute specifications, ">" or "/>".

I looked at the build-intermediates-manifests and noticed that the
<meta-data android:name="com.smartling.project.config" android:value="projectId|projectSecret|null|null|ota-serving|verbose|false"/></application>

meta data line was not generated at all. I looked at the gradle console for the tasks and am seeing
Smartling: Config for reviewRelease: SmartlingConfig{name='reviewRelease', logLevel='verbose', mode='context-capture', otaServing=null, auth=Auth{userIdentifier='"xxx"', userSecret='"xxx"'}}

followed by
Smartling: Add process manifest action to reviewRelease.

I'm under the impression that the smartling SDK is trying to add the meta data unsuccessfully? I had read the other issue thread that was closed regarding the meta-data and was unable to find a resolution.

I've tried downgrading Smartling versions to 2.4 and 2.3.1 in addition to disabling Instant Run. I'm building on gradle tools version 2.3.3 and working on android studio version 2.3.3. In terms of set up I followed exactly the guide in the ReadMe regarding different build flavors using 'Review' but omitted the otaServing section within the smartling task as I'm only using the Context-Capture and also don't know where to find my Project AES Key within the Smartling Console.

Context capture mode not working (2.5.2). App is crashing

08-30 13:15:02.573 18047-19369/com.application E/TWCUncaughtExcptnHandler: Uncaught exception in thread: Thread[ContextCapture,5,main]
java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/http/HttpEngine;
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:219)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at com.smartling.android.shared.network.UserAgentInterceptor.intercept(UserAgentInterceptor.java:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at com.smartling.android.shared.network.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:36)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179)
at okhttp3.RealCall.execute(RealCall.java:63)
at com.newrelic.agent.android.instrumentation.okhttp3.CallExtension.execute(CallExtension.java:46)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89)
at com.smartling.android.review.context.service.ContextWorker.loadStrings(SourceFile:104)
at com.smartling.android.review.context.service.ContextServiceHandler.a(SourceFile:111)
at com.smartling.android.review.context.service.ContextServiceHandler.handleMessage(SourceFile:58)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.internal.http.HttpEngine" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.application-2/base.apk", zip file "/data/app/com.application-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.application2/split_lib_slice_1_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.applicationr-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.applicationr-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.application-2/lib/arm64, /data/app/com.application-2/base.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:219) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at com.smartling.android.shared.network.UserAgentInterceptor.intercept(UserAgentInterceptor.java:32) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at com.smartling.android.shared.network.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:36) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179) 
at okhttp3.RealCall.execute(RealCall.java:63) 
at com.newrelic.agent.android.instrumentation.okhttp3.CallExtension.execute(CallExtension.java:46) 
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89) 
at com.smartling.android.review.context.service.ContextWorker.loadStrings(SourceFile:104) 
at com.smartling.android.review.context.service.ContextServiceHandler.a(SourceFile:111) 
at com.smartling.android.review.context.service.ContextServiceHandler.handleMessage(SourceFile:58) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.os.HandlerThread.run(HandlerThread.java:61) 
08-30 13:15:02.575 18047-19369/com.application E/AndroidRuntime: FATAL EXCEPTION: ContextCapture
Process: com.application, PID: 18047
java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/internal/http/HttpEngine;
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:219)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at com.smartling.android.shared.network.UserAgentInterceptor.intercept(UserAgentInterceptor.java:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at com.smartling.android.shared.network.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:36)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179)
at okhttp3.RealCall.execute(RealCall.java:63)
at com.newrelic.agent.android.instrumentation.okhttp3.CallExtension.execute(CallExtension.java:46)
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174)
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89)
at com.smartling.android.review.context.service.ContextWorker.loadStrings(SourceFile:104)
at com.smartling.android.review.context.service.ContextServiceHandler.a(SourceFile:111)
at com.smartling.android.review.context.service.ContextServiceHandler.handleMessage(SourceFile:58)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.internal.http.HttpEngine" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.application-2/base.apk", zip file "/data/app/com.application-2/split_lib_dependencies_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_0_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_1_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_2_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_3_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_4_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_5_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_6_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_7_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_8_apk.apk", zip file "/data/app/com.application-2/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.application-2/lib/arm64, /data/app/com.application-2/base.apk!/lib/arm64-v8a, /data/app/com.applicationr-2/split_lib_dependencies_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_0_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_1_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_2_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_3_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_4_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_5_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_6_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_7_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_8_apk.apk!/lib/arm64-v8a, /data/app/com.application-2/split_lib_slice_9_apk.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:219) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at com.smartling.android.shared.network.UserAgentInterceptor.intercept(UserAgentInterceptor.java:32) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at com.smartling.android.shared.network.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:36) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179) 
at okhttp3.RealCall.execute(RealCall.java:63) 
at com.newrelic.agent.android.instrumentation.okhttp3.CallExtension.execute(CallExtension.java:46) 
at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 
at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:89) 
at com.smartling.android.review.context.service.ContextWorker.loadStrings(SourceFile:104) 
at com.smartling.android.review.context.service.ContextServiceHandler.a(SourceFile:111) 
at com.smartling.android.review.context.service.ContextServiceHandler.handleMessage(SourceFile:58) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:154) 
at android.os.HandlerThread.run(HandlerThread.java:61) 

Support Android Gradle Plugin 3.0.0

The SDK doesn't build with 3.0.0-alpha8. (classpath 'com.android.tools.build:gradle:3.0.0-alpha8')

When I downgrade back to 2.3.3 stable, it builds fine. 👍

Relevant log lines:

Configuration 'testCompile' in project ':core-android' is deprecated. Use 'testImplementation' instead.
Smartling: Config for fastDevDebug: SmartlingConfig{name='fastDevDebug', logLevel='verbose', mode='context-capture', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to fast-dev-debug
Smartling: Config for fastDevRelease: SmartlingConfig{name='fastDevRelease', logLevel='verbose', mode='ota-serving', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to fast-dev-release
Smartling: Config for slowMarketDebug: SmartlingConfig{name='slowMarketDebug', logLevel='verbose', mode='ota-serving', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to slow-market-debug
Smartling: Config for slowMarketRelease: SmartlingConfig{name='slowMarketRelease', logLevel='verbose', mode='ota-serving', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to slow-market-release
Smartling: Config for slowDevDebug: SmartlingConfig{name='slowDevDebug', logLevel='verbose', mode='ota-serving', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to slow-dev-debug
Smartling: Config for slowDevRelease: SmartlingConfig{name='slowDevRelease', logLevel='verbose', mode='ota-serving', otaServing=OtaServing{projectSecret='XXX'}, auth=Auth{userIdentifier='XXX', userSecret='XXX'}}
Smartling: Add process manifest action to slow-dev-release
Build cache is an incubating feature.
:app:preBuild UP-TO-DATE
:core-android:preBuild UP-TO-DATE
:core-android:preDebugBuild UP-TO-DATE
:core-android:checkDebugManifest UP-TO-DATE
:core-android:processDebugManifest UP-TO-DATE
:app:preFastDevDebugBuild UP-TO-DATE
:core-android:compileDebugAidl UP-TO-DATE
:app:compileFastDevDebugAidl UP-TO-DATE
:core-android:packageDebugRenderscript NO-SOURCE
:app:compileFastDevDebugRenderscript UP-TO-DATE
:app:checkFastDevDebugManifest UP-TO-DATE
:app:generateFastDevDebugBuildConfig UP-TO-DATE
:app:mergeFastDevDebugShaders UP-TO-DATE
:app:compileFastDevDebugShaders UP-TO-DATE
:app:generateFastDevDebugAssets UP-TO-DATE
:core-android:mergeDebugShaders UP-TO-DATE
:core-android:compileDebugShaders UP-TO-DATE
:core-android:generateDebugAssets UP-TO-DATE
:core-android:mergeDebugAssets UP-TO-DATE
:app:mergeFastDevDebugAssets UP-TO-DATE
:app:createFastDevDebugCompatibleScreenManifests UP-TO-DATE
:app:processFastDevDebugManifest
…
/Users/aphex/StudioProjects/postmates/courier-android/app/src/dev/AndroidManifest.xml:64:9-67:44 Warning:
	meta-data#com.google.android.gms.wallet.api.enabled@android:value was tagged at AndroidManifest.xml:64 to replace other declarations but no other declaration present
:app:processFastDevDebugManifest FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processFastDevDebugManifest'.
> Could not get unknown property 'manifestOutputFile' for task ':app:processFastDevDebugManifest' of type com.android.build.gradle.tasks.MergeManifests.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED in 1s

16 actionable tasks: 1 executed, 15 up-to-date

Connection (disconnection) of the library does not work depending on the build flavors. Version 4.0.0.

In the main gradle file, I connected the library as written in the documentation.

buildscript {
  repositories {
    maven { url 'https://raw.githubusercontent.com/Smartling/android-repository/releases'}
    ...
  }
  dependencies {
    classpath 'com.smartling.android:plugin:{latest_version}'
    ...
  }
}

ext {
   SMARTLING_SDK_MODE = "disabled"
}

allprojects {
  repositories {
     ...
     maven { url 'https://raw.githubusercontent.com/Smartling/android-repository/releases'}
     maven { url "https://www.jitpack.io" }
  }
}

apply plugin: 'com.smartling.android.config'

smartling {
  projectId = "<Project ID>"
  otaServing {
    projectSecret = "<Project AES Key>"
  }
  auth {
    userIdentifier = "<User Identifier>"
    userSecret = "<User Secret>"
  }
  mode = SMARTLING_SDK_MODE
  logLevel = "verbose"
}

Added a plugin to my application and added a parameter for each product flavor

apply plugin: 'com.android.application'
apply plugin: 'com.smartling.android.application'

android {
	...
  productFlavors {
  	smartling {
  	  ...
  	  rootProject.ext.SMARTLING_SDK_MODE = "context-capture"
  	}
	smartlingDisabled {
  	  ...
  	  rootProject.ext.SMARTLING_SDK_MODE = "disabled"
  	}
  }
}

But the library is always on. Despite the fact that I do not include it in the smartlingDisabled assembly

Tell me what am I doing wrong?

Default SearchView style is broken after Smartling SDK integration

SDK version: 2.6.0
Android support library version: 27.0.2

Looks like default style for android.support.v7.widget.SearchView is ignored/missed after applying Smartling SDK (context-capture mode). As result search query text is always black. See attached screenshot.

screenshot_1533042242

Also default empty placeholder ("Search...") is replaced with magnify icon.
Without SDK search query text is white and placeholder text presents.

Might be related to #7

Resource not found.

I just added into build.gradle file in repositories{} your
maven { url 'https://raw.githubusercontent.com/Smartling/android-repository/releases'}
and into dependencies added google-service dependencies as a
implementation 'com.google.android.gms:play-services-places:15.0.1'. And after it, when I start a project building I see the next problem in building window (gradle searchs google-services in your repo):

Download https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-base/maven-metadata.xml | 4s 302ms
-- | --
List https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-base/ | 319ms
Download https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-basement/maven-metadata.xml | 169ms
List https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-basement/ | 526ms
Download https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-basement/maven-metadata.xml | 471ms
List https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-basement/ | 619ms
Download https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-tasks/maven-metadata.xml | 270ms
List https://raw.githubusercontent.com/Smartling/android-repository/releases/com/google/android/gms/play-services-tasks/ | 208ms

Build proccess takes a lot of time (regular time is 1-2 minutes, but with your library it takes more than 10 minutes).
After building all works fine! But I think, this process is working incorrect.
So, can you answer me, what have I need to do, for solve this issue?
Thanks a lot!

Account configuration gets overwritten

I had the following crash when trying to launch the in-app review:

java.lang.SecurityException: uid 10328 cannot explicitly add accounts of type: com.smartling.android.review
                                                                  at android.os.Parcel.readException(Parcel.java:1620)
                                                                  at android.os.Parcel.readException(Parcel.java:1573)
                                                                  at android.accounts.IAccountManager$Stub$Proxy.addAccountExplicitly(IAccountManager.java:890)
                                                                  at android.accounts.AccountManager.addAccountExplicitly(AccountManager.java:712)
                                                                  at com.smartling.android.review.TokenManager.a(SourceFile:290)
                                                                  at com.smartling.android.review.TokenManager.saveOAuthTokens(SourceFile:272)
                                                                  at com.smartling.android.review.security.activity.LoginActivity.a(SourceFile:84)
                                                                  at com.smartling.android.review.security.activity.LoginActivity.a(SourceFile:33)
                                                                  at com.smartling.android.review.security.activity.LoginActivity$1.onResponse(SourceFile:117)
                                                                  at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)
                                                                  at android.os.Handler.handleCallback(Handler.java:739)
                                                                  at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                  at android.os.Looper.loop(Looper.java:148)
                                                                  at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

After some investigation, I realized that this was caused by our app's account configuration resources which were overriding the smartling SDK's. In both cases the authenticator files were called authenticator.xml and authenticator_prefs.xml. I renamed our files to fix the crash, but it would be a good idea to rename them in the sdk to smartlings_authenticator.xml and smartlings_authenticator_prefs.xml to avoid this kind of issue for other people in the future.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.