Yes, the example project builds perfectly. But as soon as I copy settings 
over to my projects, things start to break.

I'm new to Android, Gradle, and gRPC, so it's too easy for me to miss 
anything.. Sorry to borther.

>From a beginner's point of view, the example project is too complicated and 
is not only "hello world". It's like a sub project in gRPC project and 
contains advanced examples, so I'm not sure which settings/codes are 
essential to the simplest helloworld demo, and it  isn't organized in 
Android Studio‘s way.. It's just my two cents.

I use Android Studio and my project structure is this, I have an Android 
 module named as Client, and a Java module named as Protocol.  Protocol 
module contains proto files and generates necessary gRPC classes. Client 
module references Protocol, and in the future when I create a Server 
module, it could also reference Protocol module..

I committed the project to GitHub. I would so appreciate if you could clone 
my *debug *branch and take a look.

git clone -b debug https://github.com/gqqnbig/SimpleChat2017

在 2017年7月18日星期二 UTC-7下午1:48:09,Eric Gribkoff写道:
>
> You still need the javalite {} block in both protobuf.plugins and 
> protobuf.generateProtoTasks. I would suggest following these instructions 
> <https://grpc.io/docs/quickstart/android.html> to build the example gRPC 
> Android Hello World app (here is its build.gradle 
> <https://github.com/grpc/grpc-java/blob/master/examples/android/helloworld/app/build.gradle>),
>  
> confirm the example builds in your local environment then adapt the working 
> example to your project. If the Hello World app doesn't build for you, let 
> me know.
>
> Best,
>
> Eric
>
> On Sun, Jul 16, 2017 at 3:51 PM, <[email protected] <javascript:>> wrote:
>
>> I now have another problem. Do you midn looking again?
>>
>> I make the project, but Android Studio cannot find many packages.. See 
>> the screenshot.
>>
>>
>> <https://lh3.googleusercontent.com/-DUa5PYj90tM/WWvtsVqAb0I/AAAAAAAAIMo/8VGCP-DjAK0eJeizNioNCKOrrbZy3VoDQCLcBGAs/s1600/Capture.JPG>
>>
>>
>>
>> I already have 
>>
>>
>> dependencies {
>>     compile 'io.grpc:grpc-okhttp:1.4.0'
>>     compile 'io.grpc:grpc-protobuf-lite:1.4.0'
>>     compile 'io.grpc:grpc-stub:1.4.0'
>>     compile 'javax.annotation:javax.annotation-api:1.2'
>> }
>>
>>
>> in build.gradle.
>>
>>
>> Am I still missing anything?
>>
>>
>> 在 2017年7月16日星期日 UTC-7上午11:40:01,Eric Gribkoff写道:
>>>
>>> Can you try "./gradlew clean" and then rebuild? You can encounter this 
>>> type of error when you've already built a project using one flavor of 
>>> protobuf, then switch to another. The generated files from the old proto 
>>> flavor are not always removed automatically, causing conflicts, but 
>>> "./gradlew clean" will clear them out.
>>>
>>> Thanks,
>>>
>>> Eric
>>>
>>> On Sat, Jul 15, 2017 at 11:21 PM, <[email protected]> wrote:
>>>
>>>> This is my build.gradle.
>>>>
>>>> apply plugin: 'java'
>>>>
>>>> dependencies {
>>>>     compile fileTree(dir: 'libs', include: ['*.jar'])
>>>>
>>>>     compile 'io.grpc:grpc-okhttp:1.4.0'
>>>>     compile 'io.grpc:grpc-protobuf-lite:1.4.0'
>>>>     compile 'io.grpc:grpc-stub:1.4.0'
>>>>     compile 'javax.annotation:javax.annotation-api:1.2'
>>>> }
>>>>
>>>> sourceCompatibility = "1.7"
>>>> targetCompatibility = "1.7"
>>>>
>>>>
>>>> apply plugin: 'com.google.protobuf'
>>>>
>>>> protobuf {
>>>>     protoc {
>>>>         artifact = 'com.google.protobuf:protoc:3.0.0'
>>>>     }
>>>>     plugins {
>>>>         javalite {
>>>>             artifact = "com.google.protobuf:protoc-gen-javalite:3.0.0"
>>>>         }
>>>>         grpc {
>>>>             artifact = 'io.grpc:protoc-gen-grpc-java:1.0.0' // 
>>>> CURRENT_GRPC_VERSION
>>>>         }
>>>>     }
>>>>     generateProtoTasks {
>>>>         all().each { task ->
>>>>             task.plugins {
>>>>                 javalite {}
>>>>                 grpc {
>>>>                     // Options added to --grpc_out
>>>>                     option 'lite'
>>>>                 }
>>>>             }
>>>>         }
>>>>     }
>>>> }
>>>>
>>>>
>>>>
>>>> I copied hellowworld.proto to my module. Once I make the module, Android 
>>>> Studio gives error Duplicated class 
>>>> io.grpc.examples.helloworld.HelloReply. I searched the file explorer, the 
>>>> same class exists in 
>>>> build\generated\source\proto\main\java\io\grpc\examples\helloworld\HelloReply.java
>>>>  and 
>>>> D:\SimpleChat\protocol\build\generated\source\proto\main\javalite\io\grpc\examples\helloworld\HelloReply.java.
>>>>
>>>>
>>>>
>>>> <https://lh3.googleusercontent.com/-uSl8ji65z40/WWsF86qV1fI/AAAAAAAAIMc/3jlf8CfyW-EOze4XmNUZhH1lZAPR8JfRgCLcBGAs/s1600/%25E6%258D%2595%25E8%258E%25B7.JPG>
>>>>
>>>>
>>>>
>>>> I checked the sample repository in https://github.com/grpc/grpc-java, it 
>>>> only has the java one.
>>>>
>>>>
>>>> How do I resolve this?
>>>>
>>>>
>>>>
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "grpc.io" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to [email protected].
>>>> To post to this group, send email to [email protected].
>>>> Visit this group at https://groups.google.com/group/grpc-io.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/grpc-io/2071b2d9-9168-4b20-83ec-769215328a83%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/grpc-io/2071b2d9-9168-4b20-83ec-769215328a83%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "grpc.io" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/grpc-io.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/grpc-io/8c810d1e-727e-4df0-a046-431fde8f3ee9%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/grpc-io/8c810d1e-727e-4df0-a046-431fde8f3ee9%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/a7429221-22be-4dbf-b81b-6fd5c4c4aa97%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to