piasy / androidtddbootstrap Goto Github PK
View Code? Open in Web Editor NEWA bootstrap project for TDD Android.
License: MIT License
A bootstrap project for TDD Android.
License: MIT License
I am a beginner on this project, and it is true that some of third library I am not know before. The most important problem for me is that when I download this repo, open it with Android Studio (which vision is 2.3) , however it just building gradle project info. How could I continue ?
I just want to study this, but it seems that there is a steep hill for beginner.
大神,你的module放在model中的是怎么做到的,我这里他并不能在model中生成Factory,是因为你用的buck的原因吗?
AndroidTDDBootStrap/app/build.gradle
At line 57-60 and 77-80, compileOptions
is defined twice.
Hi!!
Great job!
I had begin to test your bootstrap, but now, I want to rename your bootstrap to my target application name and namespace.
Have you a tool like https://github.com/AndroidBootstrap/android-bootstrap-site/blob/master/routes/generate.js or something like yeoman generator ?
Thank you,
Alexandre
看到很多sh,win下编译好多问题
$ git clone --recursive https://github.com/Piasy/AndroidTDDBootStrap.git
Cloning into 'AndroidTDDBootStrap'...
remote: Counting objects: 6201, done.
error: RPC failed; curl 56 SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
数据都来自网上,使用Gson来做解析变成了POJO,POJO继承serializable,能在bundle 中传递,那Auto-parcel在什么情况下使用?
Error:(170, 1) A problem occurred evaluating project ':app'.
Could not find property 'BUG_TAGS_API_SECRET' on com.bugtags.library.gradle.BugtagsExtension_Decorated@76e10c3f.
:)
出现这样的错误,https://code.google.com/p/android/issues/detail?id=184292。
.idea/libraries/*.xml的路径不正确,全部指向app目录。
移除errorprone后就正常了。
Getting this error when i try to build with buck:
[13:38:08 tommy@tumblr-MacBookPro-f0658b:~/src/android/AndroidTDDBootStrap] (master)
→$./buckw --stacktrace targets
NO PREVIOUS SUCCESSFUL OKBUCK RUN
RUNNING OKBUCK...
DELETED OLD BUCK FILES
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
Parallel execution with configuration on demand is an incubating feature.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at build_7cxr0118m5vyru20czgisz1ts.run(/Users/tommy/src/android/AndroidTDDBootStrap/app/build.gradle:29)
The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead.
extractDebugAnnotations is incompatible with java 8 sources and has been disabled.
extractReleaseAnnotations is incompatible with java 8 sources and has been disabled.
extractDebugAnnotations is incompatible with java 8 sources and has been disabled.
extractReleaseAnnotations is incompatible with java 8 sources and has been disabled.
extractDebugAnnotations is incompatible with java 8 sources and has been disabled.
extractReleaseAnnotations is incompatible with java 8 sources and has been disabled.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
Jack is disabled, but one of the plugins you are using supports Java 8 language features.
:buildDepCache
:model:generateDebugSqlDelightInterface UP-TO-DATE
:model:generateReleaseSqlDelightInterface UP-TO-DATE
:buildDepCache FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':buildDepCache'.
> /Users/tommy/src/android/AndroidTDDBootStrap/model/build/intermediates/unmocked-androidmodel.jar
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 16.239 secs
== CSV Build Time Summary ==
Build time today: 0:43.394
Total build time: 0:43.394
(measured since 13 minutes ago)
== Build Time Summary ==
▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 95% :buildDepCache (0:00.337)
== BUILD FAILED ==
OKBUCK FAILED
I used ./install_app.sh
to install a debug app on my mobile and failed to start trending activity.
Related log:
04-11 23:03:45.627 12155-12155/com.github.piasy.octostars E/Router: com.chenenyu.router.RouterBuildConfig
04-11 23:03:45.928 12155-12155/com.github.piasy.octostars E/Router: Could not find an Activity that matches the given uri.
First line is raised when Router.initialize()
. RouterBuildConfig
is not generated at compile-time, then Class.forname
failed.
Second line is raised when Router.build(...).go(...)
at splash view. Initialization is failed and it cannot find corresponding activity.
BTW, you forgot to add Router.openLog()
at https://github.com/Piasy/AndroidTDDBootStrap/blob/master/contrib/business/src/main/java/com/github/piasy/octostars/BootstrapApp.java#L96 :)
FYI: update the router version to latest (0.7.0) could help.
→$./buckw build app:bin_devDebug
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/BriteDbConfig.java:12: error: package AutoValue_BriteDbConfig does not exist
return new AutoValue_BriteDbConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/EventBusConfig.java:11: error: package AutoValue_EventBusConfig does not exist
return new AutoValue_EventBusConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/GsonConfig.java:14: error: package AutoValue_GsonConfig does not exist
return new AutoValue_GsonConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/HttpClientConfig.java:11: error: package AutoValue_HttpClientConfig does not exist
return new AutoValue_HttpClientConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/RetrofitConfig.java:11: error: package AutoValue_RetrofitConfig does not exist
return new AutoValue_RetrofitConfig.Builder();
^
Errors: 5. Warnings: 0.
BUILD FAILED: //base:src_release failed with exit code 1:
javac
stderr: /Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/BriteDbConfig.java:12: error: package AutoValue_BriteDbConfig does not exist
return new AutoValue_BriteDbConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/EventBusConfig.java:11: error: package AutoValue_EventBusConfig does not exist
return new AutoValue_EventBusConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/GsonConfig.java:14: error: package AutoValue_GsonConfig does not exist
return new AutoValue_GsonConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/HttpClientConfig.java:11: error: package AutoValue_HttpClientConfig does not exist
return new AutoValue_HttpClientConfig.Builder();
^
/Users/tommy/src/android/AndroidTDDBootStrap/base/src/main/java/com/github/piasy/bootstrap/base/model/provider/RetrofitConfig.java:11: error: package AutoValue_RetrofitConfig does not exist
return new AutoValue_RetrofitConfig.Builder();
^
Errors: 5. Warnings: 0.
[-] PROCESSING BUCK FILES...FINISHED 0.1s
[-] DOWNLOADING... (0.00 B/S AVG, TOTAL: 0.00 B, 0 Artifacts)
[-] BUILDING...FINISHED 4.5s [100%] (435/445 JOBS, 0 UPDATED, 0 [0.0%] CACHE MISS)
goog job
Hi
When i run
buck install appDevDebug
i get
BUILD FAILED: //model:src_release failed on step javac with an exception:
java.lang.NoSuchMethodError: com.squareup.javapoet.TypeName.isBoxedPrimitive()Z
java.lang.RuntimeException: java.lang.NoSuchMethodError: com.squareup.javapoet.TypeName.isBoxedPrimitive()Z
at com.sun.tools.javac.main.Main.compile(Main.java:553)
at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
at com.facebook.buck.jvm.java.Jsr199Javac.buildWithClasspath(Jsr199Javac.java:247)
at com.facebook.buck.jvm.java.Jsr199Javac.buildWithClasspath(Jsr199Javac.java:155)
at com.facebook.buck.jvm.java.JavacStep.tryBuildWithFirstOrderDeps(JavacStep.java:154)
at com.facebook.buck.jvm.java.JavacStep.execute(JavacStep.java:137)
at com.facebook.buck.step.DefaultStepRunner.runStepForBuildTarget(DefaultStepRunner.java:63)
at com.facebook.buck.rules.CachingBuildEngine.executeCommandsNowThatDepsAreBuilt(CachingBuildEngine.java:1223)
at com.facebook.buck.rules.CachingBuildEngine.access$300(CachingBuildEngine.java:113)
at com.facebook.buck.rules.CachingBuildEngine$3$1.call(CachingBuildEngine.java:304)
at com.facebook.buck.rules.CachingBuildEngine$3$1.call(CachingBuildEngine.java:294)
at com.facebook.buck.util.concurrent.WeightedListeningExecutorService$1.apply(WeightedListeningExecutorService.java:65)
at com.facebook.buck.util.concurrent.WeightedListeningExecutorService$1.apply(WeightedListeningExecutorService.java:61)
at com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTransform(Futures.java:1442)
at com.google.common.util.concurrent.Futures$AsyncChainingFuture.doTransform(Futures.java:1433)
at com.google.common.util.concurrent.Futures$AbstractChainingFuture.run(Futures.java:1408)
at com.google.common.util.concurrent.Futures$2$1.run(Futures.java:1177)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: com.squareup.javapoet.TypeName.isBoxedPrimitive()Z
at com.ryanharter.auto.value.parcel.Parcelables.isValidType(Parcelables.java:47)
at com.ryanharter.auto.value.parcel.Parcelables.getParcelableType(Parcelables.java:63)
at com.ryanharter.auto.value.parcel.Parcelables.isValidType(Parcelables.java:51)
at com.ryanharter.auto.value.parcel.AutoValueParcelExtension.validateProperties(AutoValueParcelExtension.java:210)
at com.ryanharter.auto.value.parcel.AutoValueParcelExtension.generateClass(AutoValueParcelExtension.java:123)
at com.google.auto.value.processor.AutoValueProcessor.processType(AutoValueProcessor.java:424)
at com.google.auto.value.processor.AutoValueProcessor.process(AutoValueProcessor.java:143)
at com.facebook.buck.jvm.java.TracingProcessorWrapper.process(TracingProcessorWrapper.java:104)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:705)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$1800(JavacProcessingEnvironment.java:91)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1035)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1176)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
... 20 more
Found rharter/auto-value-parcel#64 , but it doesn't help
我这边的api发挥有一个简单的统一格式
{ "error": “”, //api是否出错 "results": “” //返回的data }
如果按照你的GithubUserSearchResult的写法,每个api都需要写一个对应的GithubUserSearchResult,但是如果使用发射封装一个HttpResponse,代码如下:
`public class HttpResponse {
@SerializedName("error")
private boolean error;
@SerializedName("results")
private T data;
}`
则不能使用auto-value-gson进行序列化和反序列化,请问像我这种api,应该怎么结合auto-value及相关的扩展封装一个HttpResponse
谢谢分享,太棒了。请教下如果用data-binding
有些设计是不是可以简化掉了,期待你的更新
Do you mean something like this https://github.com/riggaroo/android-studio-group-templates-mvp?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.