小编Shr*_*der的帖子

在aar找不到的类

当调用GoogleApiAvailability时,我的Android库(aar)中的类未找到异常.

    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.GoogleApiAvailability" on path: DexPathList[[zip file "/data/app/com.myunityplugin.PushNotifications-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myunityplugin.PushNotifications-1/lib/arm, /vendor/lib, /system/lib]]
Run Code Online (Sandbox Code Playgroud)

错误是不言自明的,但我不确定我做错了什么.我很擅长gradle和AndroidStudio.

我的gradle.build中有以下依赖项:

    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.google.android.gms:play-services-gcm:8.4.0'
Run Code Online (Sandbox Code Playgroud)

我认为问题是播放服务库需要包含在aar中,而编译不会这样做.我尝试使用'运行时',但我得到"找不到gradle dsl运行时".

问题:

  1. 这是一个我需要在我的网站中包含播放服务库的问题,我该如何实现?(如果没有,我该如何解决这个问题)
  2. 我是否需要指定播放服务或播放服务-gcm是否足够?

错误信息/设置

导致错误的行

GoogleApiAvailability ServiceAvailability = GoogleApiAvailability.getInstance();
Run Code Online (Sandbox Code Playgroud)

例外:

05-23 05:38:48.221 28055-28055/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.myunityplugin.PushNotifications, PID: 28055
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GoogleApiAvailability;
   at com.myplugin.unitynotification.GCM.GCM.checkPlayServices(GCM.java:33)
   at com.myplugin.unitynotification.GCM.MainActivity.onCreate(MainActivity.java:80)
   at android.app.Activity.performCreate(Activity.java:6550)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3108)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3263)
   at android.app.ActivityThread.access$1000(ActivityThread.java:197)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1687)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:145)
   at android.app.ActivityThread.main(ActivityThread.java:6897)
   at java.lang.reflect.Method.invoke(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) …
Run Code Online (Sandbox Code Playgroud)

android gradle google-play-services android-gradle-plugin aar

8
推荐指数
1
解决办法
5712
查看次数

带有连接表的Doctrine 2 ManyToOne

我正在寻找有关如何映射使用联接表的OneToMany / ManyToOne关系的建议。我没有进行映射,并且收到错误消息,未在媒体表中设置article_id。 

class Media
{
    // ...

    /**
     * @ManyToOne(targetEntity="Document", inversedBy="media")
     * @JoinTable(name="articles_x_media", referencedColumnName="id")
     * joinColumns={@JoinColumn(name="media_id", referencedColumnName="id")},
     * inverseJoinColumns={@JoinColumn(name="bid_id", referencedColumnName="id")})
     * )
     */
    protected $document;
}

class Document
{
    // ...

    /**
     * @OneToMany(targetEntity="Media", mappedBy="document"))
     * @JoinTable(name="articles_x_media", referencedColumnName="id")
     * joinColumns={@JoinColumn(name="article_id", referencedColumnName="id")},
     * inverseJoinColumns={@JoinColumn(name="media_id", referencedColumnName="id")}
     * )
     */
    protected $media;
}
Run Code Online (Sandbox Code Playgroud)

doctrine-orm

5
推荐指数
1
解决办法
6707
查看次数

自动Getter/Setter功能

我正在查看Doctrine 2和Symfony文档来创建模型类.有几个代码片段,其中在类中使用了getProperty和setProperty,当值直接分配给属性时,它们会以某种方式自动使用.这与典型的get/set魔术方法不同,我遇到的示例代码没有实现任何自定义魔术方法,所以我相信这是由Doctrine在某处处理的.

从我读过的内容来看,Doctrine实现了访问器和mutator.也许我在下载Pear时错过了一个软件包,或者我的脚本中没有包含一些内容.

例如:

class User {

    public $name;
    public function getName()
    {
        // Do stuff
    }
}

$user = new User();
$foo = $user->name; // getName is called
Run Code Online (Sandbox Code Playgroud)

注意:我正在寻找一个特定于Doctrine的解决方案.我知道这可以用PHP来完成,但我想使用Doctrine的本机函数.

编辑:更新以阐明这与典型的获取/设置魔术方法的区别,并注意.

php doctrine symfony1

3
推荐指数
1
解决办法
1526
查看次数

XML元素名称中的哈希字符

我遇到了一个问题,我需要在XML节点的名称中使用hashtag,并且hashtag导致解析错误.我试过编码#没有运气,也许我实现了编码错误.

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
    <properties#tags pk1="1" pk2="1" />
</dataset>
Run Code Online (Sandbox Code Playgroud)

xml

3
推荐指数
1
解决办法
7608
查看次数